Porting/chaiNNer

From RCS Wiki
Revision as of 17:16, 25 August 2023 by JeremyRand (talk | contribs) (→‎Finished: Use load_param_mem with ncnn CPU inference)
Jump to navigation Jump to search

Installation on Debian Bookworm

  • Install at least one of PyTorch, ONNX, or ncnn
  • Install Electron
  • Pin Debian's python3 so that Electron will use Debian's PyTorch package (See Bedrock pinning instructions)
  • sudo brl apply
  • Download and extract a portable zip Linux x86_64 binary of chaiNNer.
  • Rename chainner executable in chaiNNer directory to chainner.bak (this is an Electron executable; we will replace it with the ppc64le Electron that we installed).
  • Rename portable file in chaiNNer directory to portable.bak (skip this step if you want chaiNNer configuration to be stored in chaiNNer's directory instead of $HOME)
  • In chaiNNer's directory, create the following shell script named chainner:
#!/usr/bin/env bash

cd "$(dirname "$0")"
electron ./resources/app "$@" --no-sandbox
  • Give the chainner script executable permissions, and (if you like) add the chaiNNer directory to your PATH.
  • Run chaiNNer once, and quickly exit.
  • Run the following commands to take care of some remaining dependencies:
echo true > ~/.config/chaiNNer/settings/use-system-python
ln -s -T /bedrock/cross/bin/ffprobe ~/.config/chaiNNer/ffmpeg/ffprobe
ln -s -T /bedrock/cross/bin/ffmpeg ~/.config/chaiNNer/ffmpeg/ffmpeg
sudo apt install python3-requests libre2-dev
pip install --user --break-system-packages sanic Sanic-Cors ffmpeg-python google-re2
  • chaiNNer is installed!

Finished

Merged, Awaiting Stable Tag

(None at the moment.)

In Progress

See Also