折角の機械学習や分析の手法を共有する為のサーバーを作ってみます。
ネットの情報そのままではライブラリ等で躓いたので追記しました。Windowsのファイル指定がかえってなれないのと
今後新しい人が来た時に使いやすく独立したサーバーにしておきます。
Jetson にアナコンダをインストールしてからサーバー化
Sudoで直接インストールはseaborn等でエラーが出るのでanaconda環境で
jupyterlabをインストール
https://www.pc-koubou.jp/magazine/38846
上記参考にUBUNTUにanacondaをインストール
但しアームコアなので下記ファイルでインストール
https://github.com/Archiconda/build-tools/releases
$ cd ~/Download
※日本語化して使用している方はディレクトリ名が『ダウンロード』の場合もあり
ます。
bashで実行する
ディレクトリを移動したら先程ダウンロードしたファイルをbashで実行します。
今回ダウンロードしたファイル名はArchiconda3-0.2.3-Linux-aarch64.shですの
で、そのまま入力します。
$bash Archiconda3-0.2.3-Linux-aarch64.sh
source ~/.bashrc
conda activate
(base)
conda list
conda install pip
conda detactivate
conda install jupyterlab
jupyter lab
取り敢えず起動の確認
その後以下を良く使うのでインストール
conda install pandas
conda install matplotlib
conda install seaborn
conda install openpyxl
conda install scikit-learn
matplotlibの文字化け様に日本語フォントインストール
https://self-development.info/ipaexgothic%e3%81%ab%e3%82%88%e3%82%8bmatplo
tlib%e3%81%ae%e6%97%a5%e6%9c%ac%e8%aa%9e%e5%8c%96%e3%80%90python%e3%80%91/
IPAexGothicのインストール
文字化けを解消するためには、日本語のフォントが必要です。
ただ、Ubuntuには、デフォルトでIPAフォントから派生した「Takaoフォント」がイ
ンストールされています。
それを使うという手もありますが、一般に普及しているIPAexGothicを使うことに
します。
IPAexGothicは、IPAexゴシックのことです。
findfont: Font family ['IPAexGothic']
not found. Falling back to DejaVu
Sans.
「IPAexGothicフォントなんてないよ!!」というエラーです。
このエラーが出る場合は、ほぼキャッシュが原因となります。
ちなみに、キャッシュはユーザー毎にあります。
場所は、ホームの下ですね。
なお、ファイル名が同じとは限りません。
$ ls ~/.cache/matplotlib/
fontlist-v330.json
このファイルを削除します。
「rm」コマンドで適当に削除してください。
再度、「japanse.png」を作成するプログラムを実行します。
文字化けせずに「日本語title」で表示されれば、成功です。
以上、「IPAexGothicによりMatplotlibを日本語に対応させる」でした。
ここから先はconda acvitaeして(base)wiwao@wiwao-desktop:~で作業する。
#AnacondaのVersion確認
#root@XXX tmp]# anaconda -V
#anaconda Command line client (version
1.7.2)
jetson nano nvidia-l4t-bootloader errorが出る場合は下記処理
sudo mv /var/lib/dpkg/info/
/var/lib/dpkg/backup/
sudo mkdir /var/lib/dpkg/info/
sudo apt-get update
sudo apt-get -f install
sudo mv /var/lib/dpkg/info/*
/var/lib/dpkg/backup/
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/backup/ /var/lib/dpkg/info/
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
jupyterのVesion確認
[root@XXX tmp]# jupyter --version
4.4.0
Path確認
[root@XXX tmp]# jupyter --path
config:
/root/.jupyter
/root/anaconda3/etc/jupyter
/usr/local/etc/jupyter
/etc/jupyter
data:
/root/.local/share/jupyter
/root/anaconda3/share/jupyter
/usr/local/share/jupyter
/usr/share/jupyter
runtime:
/run/user/0/jupyter
ここからWEBサーバーの設定
JupyterNotebookの設定ファイルを生成する
$jupyter notebook --generate-config
設定ファイルの編集をする
$sudo vi
/home/takeo/.jupyter/jupyter_notebook_config.py
Writing default config to:
/home/takeo/.jupyter/jupyter_notebook_config.py
Viで/を押して
/c.NotebookApp.allow_origin
として検索します。
自己サーバーにアクセス許可設定します。
######c.NotebookApp.allow_origin = ''
コメントアウト(#)は削除し
c.NotebookApp.allow_origin = '*'
に変更し、同じ様にc.NotebookApp.ipを検索します。
#####c.NotebookApp.ip = 'localhost'
コメントアウト#をはずしすべてのIPをリッスン
c.NotebookApp.ip = '0.0.0.0'
に変更します。
ローカルでブラウザを立ち上げないようにします。TrueからFalseに変更。
c.NotebookApp.open_browser = False
:xを実行しviを終了します。
jupyterのパスワードを設定いたします。設定ファイルにハッシュが入ります。
$ jupyter notebook password
[NotebookPasswordApp] Wrote hashed
password to
/home/takeo/.jupyter/jupyter_notebook_config.json
jupyterを起動します。
$jupyter lab
外部デバイスからブラウザの検索バーにipアドレス:8888でアクセス可能に
参考
https://jupyter-notebook.readthedocs.io/en/latest/config.html
https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html
これでも下記エラーが出るのでその処理。
私の環境では、
train_test_split(テストデータ分割関数)を使用するために
from sklearn.model_selection import
train_test_split
をソースコードの記載し、実行すると
ImportError:
/usr/lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS
block
となってしまうので、
$ export
LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
を実行しました。
コマンドラインでは、その端末のみ有効となるため、恒久的に行う場合には、
~/.bashrc
export
LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
を追加して下さい。
この対処が正しいかはわかっていませんが、とりあえず実行できるようになりました。