Python 仮想環境を使う

Illegal instruction (コアダンプ)回避続編

TensorFlow ソースコードをダウンロードして Bazel ベゼルを取り付けコンパイル最適化するとインストールファイルができるので これをインストールすると Illegal instruction を回避できそうなことがわかったのですが 初学者の私には難しすぎて断念しました。
そもそもなぜ Illegal instruction が発生するのか調べているうちに ある程度古い CPU を搭載したマシン(AVX 命令をサポートしていない CPU)で Illegal instruction が発生 Tensorflow のバージョンを 1.5 にダウングレードすると回避できる というサイトを見つけました。
でも Tensorflow 1.5 は見つかりませんでした。
探し方が悪い?
最近 Intel は AVX 命令のサポートを止めたけれども、
$ conda install tensorflow
を使用すると AVX 命令を使用しない Tensorflow ファイルをインストールができることがわかりました。
Keras/Tensorflow を import したら"Illegal instruction (コアダンプ)"と出た時の対処法
を見てください。
そこで conda install 命令を使える Miniconda をインストールすることにしました。

Miniconda をインストール

  1. conda install 命令を使う

    conda install 命令を使える Anaconda はデータサイエンスをはじめるために必要なもの一式が揃っている Python のディストリビューション (カーネルとかソフトウェアとか必要なものを一緒にして配布してくれるソフト) です。
    一式揃っている反面、データーサイズが大きいです。
    一方 Miniconda3 はパッケージ管理システムの conda と必要最低限のパッケージのみにとどめた Python のディストリビューションです。
    そこで今回はサイズの小さい Miniconda3 をインスト-ルし conda install 命令を使えるようにします。
    Miniconda3 のインスト-ル方法については
    Miniconda3 を Ubuntu へインストール
    Ubuntu 18.04上でminicondaを使う
    を参考にしてください。

  2. 作業ディレクトリ作成

    作業ディレクトリ tmpmcon を作ります、名前は適当です。
    yamada@********:~$ mkdir -p tmpmcon
    -p : 必要に応じて親ディレクトリも作成
    作成できたら
    yamada@********:~$ cd tmpmcon
    以降 tmpmcon 内で作業します。
    yamada@********:~/tmpmcon$
    タ-ミナルの表示が変更になりました。

  3. Miniconda Linux 64-bitのシェルファイルダウンロード

    公式サイトより、Python 3 用の Miniconda Linux 64-bit の 最新のシェルファイルをダウンロードします。
    wget コマンドで作業ディレクトリにダウンロードします。
    yamada@********:~/tmpmcon$
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    yamada@********:~/tmpmcon$ ls
    [結果]
    Miniconda3-latest-Linux-x86_64.sh
    となります。

  4. Miniconda3 インスト-ル開始

    以下のコマンドを実行します。
    yamada@********:~/tmpmcon$ bash Miniconda3-latest-Linux-x86_64.sh
    "ライセンスアグリーメントを確認してください"
    というメッセージが出ます。
    Enterキーを押下してライセンスアグリーメントの内容をご確認します。
    Do you accept the license terms? [yes|no]
    [no] >>>
    Please answer 'yes' or 'no':'
    >>> yes
    ライセンスアグリーメントに同意する場合 yes と入力し、Enterキーを押下します。
    Miniconda3 will now be installed into this location:
    /home/yamada/miniconda3
    インストール先を確認します。
    デフォルトは"/home/ユーザー名/miniconda3/"となります。
    Enter キーを押下するとインストールがはじまります。
    - Press ENTER to confirm the location
    - Press CTRL-C to abort the installation
    - Or specify a different location below
    [/home/yamada/miniconda3] >>>
    → miniconda はここにインストールされました。
    インストールが完了すると、初期化のために conda init を実行するかどうか確認されます。
    yes と入力し、Enterキーを押下します。
    以上でインストール手順は終了です。

  5. Miniconda3 base 環境 無効化

    Ubuntu で新たにターミナルを開くと、デフォルトの仮想環境である base 環境が有効になります。
    ターミナル起動時に仮想環境を自動で有効化したくない場合は、以下のコマンドを実行することで変更が可能です。
    yamada@********:~$ conda config --set auto_activate_base false
    base 環境を有効にしたい時は
    yamada@********:~$ conda activate
    base 環境を無効にしたい時は
    (base) yamada@********:~$ conda deactivate
    とします。

TensorFlow をインストール

yamada@********:~$ conda install tensorflow
たったこれだけで python 版数に見合った tensorflow
(gpu 版 ではなく cpu 版です)
が base 仮想環境にインストールされます。
バージョンを指定しなくても OK です。
ちなみに gpu 版のインストールには GPU ユニットが PC に入っている必要があります。
yamada@*********:~$ conda list
でどんなパッケージがどこに入ったか確認して見ましょう。

# packages in environment at /home/yamada/miniconda3:
#
# Name                   Version  Build   Channel
_libgcc_mutex            0.1                 main  
_openmp_mutex            5.1                1_gnu  
_tflow_select            2.3.0                mkl  
・・・・・・・・・・・・・・・・         ・・・・・・・  ・・・・・・・・・
keras                    2.11.0   py310h06a4308_0  
keras-preprocessing      1.1.2    pyhd3eb1b0_0  
・・・・・・・・・・・・・・・・         ・・・・・・・・・・・・・・・・
numpy                    1.24.3   py310hd5efca6_0  
numpy-base               1.24.3   py310h8e6c178_0  
・・・・・・・・・・・・・・・・         ・・・・・・・  ・・・・・・・・・
python                   3.10.10  h7a1cb2a_2  
python-flatbuffers       2.0      pyhd3eb1b0_0  
・・・・・・・・・・・・・・・・         ・・・・・・・  ・・・・・・・・・
tensorboard              2.11.0   py310h06a4308_0  
tensorboard-data-server  0.6.1    py310h52d8a92_0  
tensorboard-plugin-wit   1.8.1    py310h06a4308_0  
tensorflow               2.11.0   mkl_py310hb40ee82_0  
tensorflow-base          2.11.0   mkl_py310he5f8e37_0  
tensorflow-estimator     2.11.0   py310h06a4308_0  
termcolor                2.1.0    py310h06a4308_0  
・・・・・・・・・・・・・・・・         ・・・・・・・  ・・・・・・・・・

無事、/home/yamada/miniconda3 に tensorflow 2.11.0 とその他必要ファイルがインストールされました。
ちなみに pandas をインストールしたいなら
yamada@********:~$ conda install pandas
で OK です。
さらには、mplfinance は conda の場合 conda-forge チャネルにインストールファイルがあります。
yamada@********:~$ conda install -c conda-forge mplfinance
でインストールします。

引き続き この TensorFlow が動作するか確認します。


  • base 仮想環境の TensorFlow 動作確認 に進む
  • 仮想環境は必要? に戻る
  • 70VPS に戻る