onw-image / install.ps1
ryugyosoft's picture
onw-Image 0.1: Windows / Panther Lake (FP8), loop mode, NPU turbo, Lunar Lake residency
9003351 verified
Raw History Blame Contribute Delete
1.86 kB
# onw-Image one-line installer for Windows (Intel Core Ultra with NPU 5000+, e.g. Panther Lake). In PowerShell:
# irm https://huggingface.co/ryugyosoft/onw-image/resolve/main/install.ps1 | iex
# Downloads onw-Image into %LOCALAPPDATA%\onw-Image (no git / hf needed) and runs setup.bat, which finds or installs
# Python, sets up the environment, downloads the model, adds "onw-Image" to the Start menu and starts it.
# Run it again to update onw-Image.
$ErrorActionPreference = "Stop"
$ProgressPreference = "SilentlyContinue"
$repo = "ryugyosoft/onw-image"
$dest = if ($env:ONW_IMAGE_HOME) { $env:ONW_IMAGE_HOME } else { Join-Path $env:LOCALAPPDATA "onw-Image" }
Write-Host ""
Write-Host "onw-Image - Z-Image-Turbo on the Intel NPU"
Write-Host "Installing into $dest ..."
function Get-WithRetry($uri, $out) {
for ($i = 1; $i -le 4; $i++) {
try {
if ($out) { Invoke-WebRequest -UseBasicParsing -Uri $uri -OutFile $out; return }
return Invoke-RestMethod $uri
} catch {
if ($i -eq 4) { throw }
Write-Host " retrying ($($_.Exception.Message)) ..."
Start-Sleep -Seconds (2 * $i)
}
}
}
$info = Get-WithRetry "https://huggingface.co/api/models/$repo" $null
$n = 0
foreach ($s in $info.siblings) {
$f = $s.rfilename
if ($f -eq ".gitattributes" -or $f.StartsWith("images/")) { continue }
$out = Join-Path $dest ($f -replace "/", "\")
New-Item -ItemType Directory -Force -Path (Split-Path $out) | Out-Null
Get-WithRetry "https://huggingface.co/$repo/resolve/main/$f" $out
$n++
}
Write-Host "Downloaded $n files. Starting setup (Python, packages, model, Start menu) ..."
Start-Process -FilePath (Join-Path $dest "setup.bat") -WorkingDirectory $dest
Write-Host "A setup window opened. It downloads the model (about 10 GB) and then starts onw-Image."