Difference between revisions of "Porting/chaiNNer"

From RCS Wiki
Jump to navigation Jump to search
(Create page)
 
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= Installation on Debian Bookworm =
 +
 +
* Install at least one of [[Porting/PyTorch#Debian|PyTorch]], [[Porting/ONNX|ONNX]], or [[Porting/ncnn|ncnn]]
 +
* [[Porting/Chromium/Electron#Installation_on_Debian_via_Bedrock|Install Electron]]
 +
* Pin Debian's <code>python3</code> so that Electron will use Debian's PyTorch package (See [https://bedrocklinux.org/0.7/workflows.html#pinning Bedrock pinning instructions])
 +
* <code>sudo brl apply</code>
 +
* [https://chainner.app/download Download] and extract a portable zip Linux x86_64 binary of chaiNNer.
 +
* Rename <code>chainner</code> executable in chaiNNer directory to <code>chainner.bak</code> (this is an Electron executable; we will replace it with the ppc64le Electron that we installed).
 +
* Rename <code>portable</code> file in chaiNNer directory to <code>portable.bak</code> (skip this step if you want chaiNNer configuration to be stored in chaiNNer's directory instead of <code>$HOME</code>)
 +
* In chaiNNer's directory, create the following shell script named <code>chainner</code>:
 +
#!/usr/bin/env bash
 +
 +
cd "$(dirname "$0")"
 +
electron ./resources/app "$@" --no-sandbox
 +
* Give the <code>chainner</code> script executable permissions, and (if you like) add the chaiNNer directory to your <code>PATH</code>.
 +
* 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 python3-wcmatch libre2-dev
 +
pip install --user --break-system-packages sanic Sanic-Cors ffmpeg-python google-re2
 +
* chaiNNer is installed!
 +
 
= Finished =
 
= Finished =
  
Line 5: Line 29:
 
* [https://github.com/chaiNNer-org/chaiNNer/pull/1839 Fix backend script path detection with external Electron]
 
* [https://github.com/chaiNNer-org/chaiNNer/pull/1839 Fix backend script path detection with external Electron]
 
* [https://github.com/chaiNNer-org/chaiNNer/pull/1849 Add --devtools argument]
 
* [https://github.com/chaiNNer-org/chaiNNer/pull/1849 Add --devtools argument]
 +
* [https://github.com/chaiNNer-org/chaiNNer/pull/1867 Support NCNN CPU inference]
 +
* [https://github.com/chaiNNer-org/chaiNNer/pull/2142 Use load_param_mem with ncnn CPU inference]
 +
 +
= Merged, Awaiting Stable Tag =
 +
 +
(None at the moment.)
 +
 +
= In Progress =
 +
 +
* [https://github.com/chaiNNer-org/chaiNNer/pull/2070 Make ncnn memory budget configurable]
 +
 +
= See Also =
 +
 +
* [[Porting/Chromium/Electron|Electron]]
 +
* [[Porting/ncnn|ncnn]]
 +
* [[Porting/ONNX|ONNX]]
 +
* [[Porting/PyTorch|PyTorch]]
 +
 +
[[Category:Ports]]

Latest revision as of 09:12, 22 September 2023

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 python3-wcmatch 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