Ship the denoise model in the Arch package, the APK and the Windows installer
Same LFS-pointer guard as the other models; the APK copies it out of its assets with the rest.
This commit is contained in:
@@ -360,6 +360,7 @@ fn unpack_bundled_models(app: &slint::android::AndroidApp) {
|
|||||||
(c"models/categories.txt", "categories.txt"),
|
(c"models/categories.txt", "categories.txt"),
|
||||||
// The panorama border filler (FR-MRG-4); MIT, 28 MB.
|
// The panorama border filler (FR-MRG-4); MIT, 28 MB.
|
||||||
(c"models/migan-512.onnx", "migan-512.onnx"),
|
(c"models/migan-512.onnx", "migan-512.onnx"),
|
||||||
|
(c"models/mosaic-1408.onnx", "mosaic-1408.onnx"),
|
||||||
];
|
];
|
||||||
|
|
||||||
let dir = dr_ui::shared_face_models_dir();
|
let dir = dr_ui::shared_face_models_dir();
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ fi
|
|||||||
rm -rf "${OUT}/staging/assets/models"
|
rm -rf "${OUT}/staging/assets/models"
|
||||||
mkdir -p "${OUT}/staging/assets/models"
|
mkdir -p "${OUT}/staging/assets/models"
|
||||||
_bundled=""
|
_bundled=""
|
||||||
for _dir in face scene inpaint; do
|
for _dir in face scene inpaint denoise; do
|
||||||
ASSETS="${REPO}/models/${_dir}"
|
ASSETS="${REPO}/models/${_dir}"
|
||||||
compgen -G "${ASSETS}/*.onnx" >/dev/null || continue
|
compgen -G "${ASSETS}/*.onnx" >/dev/null || continue
|
||||||
# An LFS pointer is ~130 bytes and looks exactly like a model to `cp`. Left
|
# An LFS pointer is ~130 bytes and looks exactly like a model to `cp`. Left
|
||||||
|
|||||||
@@ -51,10 +51,10 @@ sed 's/$/\r/' "${REPO}/LICENSE" > "${STAGE}/LICENSE"
|
|||||||
#
|
#
|
||||||
# The directories are the ones the APK stages (assemble-apk.sh) and the Arch
|
# The directories are the ones the APK stages (assemble-apk.sh) and the Arch
|
||||||
# package installs: the face pair and its eye-state models, the scene model
|
# package installs: the face pair and its eye-state models, the scene model
|
||||||
# with its two descriptors, and the panorama border filler. The installer
|
# with its two descriptors, the panorama border filler and the denoiser. The installer
|
||||||
# smoke test counts the same directories, so a model added here is expected
|
# smoke test counts the same directories, so a model added here is expected
|
||||||
# there without a number to update.
|
# there without a number to update.
|
||||||
for dir in face scene inpaint; do
|
for dir in face scene inpaint denoise; do
|
||||||
for f in "${REPO}/models/${dir}"/*; do
|
for f in "${REPO}/models/${dir}"/*; do
|
||||||
case "$(basename "${f}")" in
|
case "$(basename "${f}")" in
|
||||||
README.md) continue ;;
|
README.md) continue ;;
|
||||||
|
|||||||
@@ -123,4 +123,13 @@ package() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
install -Dm644 "${_src}" "${pkgdir}/usr/share/darkroom/models/migan-512.onnx"
|
install -Dm644 "${_src}" "${pkgdir}/usr/share/darkroom/models/migan-512.onnx"
|
||||||
|
|
||||||
|
# The learned demosaic and denoise (the project's own weights, GPL —
|
||||||
|
# models/LICENCE.md). Same pointer check, same directory.
|
||||||
|
_src="models/denoise/mosaic-1408.onnx"
|
||||||
|
if [[ "$(stat -c%s "${_src}")" -lt 100000 ]]; then
|
||||||
|
echo "error: the denoise model is an LFS pointer — run: git lfs pull" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
install -Dm644 "${_src}" "${pkgdir}/usr/share/darkroom/models/mosaic-1408.onnx"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user