業務改善 web開発 programming 旅行系記事多め。

Tensorflow2.1以降をconda仮想環境にインストールする(Mac)

deeplearning機械学習

Kerasのサンプルコードを使うため、仮想環境にTensorflowをインストールしてみた。

conda create -n tf tensorflow
conda activate tf

Anaconda公式をみるとこれで仮想環境も作れるしTensorflowもインストールできるらしい。念の為CPUの方にした。

しかし、サンプルコードを実行しようとするとどうしても以下の「TextVectorization」の箇所でエラーが出てしまう。

from tensorflow.keras.layers import TextVectorization

色々調べると、TextVectorizationは文字列のID変換などをしてそのまま訓練できるように一気に前処理してくれるレイヤーで、Tensorflow2.1で追加された新しい機能らしい。今使っているTensorflowのバージョンが2.0なのでバージョンアップする必要がありそう。

ということで、一旦先ほど作成したTensorflow用の仮想環境を削除し、

conda create -n myenv
conda activate myenv

適当に名前をつけて新しい仮想環境を用意しアクティベートする。

conda install tensorflow==2.1.0

と2.1.0とあらかじめバージョンを指定してみた。すると、

PackagesNotFoundError: The following packages are not available from current channels:

  - tensorflow==2.1.0

Current channels:

  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

とエラーが出てしまって指定のバージョンをインストールできない。

conda search tensorflow

で入れられるTensorfowのバージョンを調べられるとのことで試してみると、

tensorflow                     1.8.0               0  pkgs/main           
tensorflow                     1.9.0 eigen_py27hc3c435f_1  pkgs/main           
tensorflow                     1.9.0 eigen_py35h40edd97_1  pkgs/main           
tensorflow                     1.9.0 eigen_py36hf07811a_1  pkgs/main           
tensorflow                     1.9.0 mkl_py27h45ac830_1  pkgs/main           
tensorflow                     1.9.0 mkl_py35h34e052c_1  pkgs/main           
tensorflow                     1.9.0 mkl_py36h4fc8490_1  pkgs/main           
tensorflow                    1.10.0 eigen_py27hf93ee88_0  pkgs/main           
tensorflow                    1.10.0 eigen_py35h5ac2770_0  pkgs/main           
tensorflow                    1.10.0 eigen_py36h0906837_0  pkgs/main           
tensorflow                    1.11.0 eigen_py27h6ba8707_0  pkgs/main           
tensorflow                    1.11.0 eigen_py36hae858b4_0  pkgs/main           
tensorflow                    1.11.0 mkl_py27h6c571c4_0  pkgs/main           
tensorflow                    1.11.0 mkl_py36h44b7a51_0  pkgs/main           
tensorflow                    1.12.0 eigen_py27hdc0099c_0  pkgs/main           
tensorflow                    1.12.0 eigen_py36hce7705b_0  pkgs/main           
tensorflow                    1.12.0 mkl_py27h5e07bc0_0  pkgs/main           
tensorflow                    1.12.0 mkl_py36h2b2bbaf_0  pkgs/main           
tensorflow                    1.13.1 eigen_py27h96e6990_0  pkgs/main           
tensorflow                    1.13.1 eigen_py36h1469504_0  pkgs/main           
tensorflow                    1.13.1 eigen_py37hbabb2b2_0  pkgs/main           
tensorflow                    1.13.1 mkl_py27h5a22803_0  pkgs/main           
tensorflow                    1.13.1 mkl_py36haf07a9b_0  pkgs/main           
tensorflow                    1.13.1 mkl_py37h70c3834_0  pkgs/main           
tensorflow                    1.14.0 eigen_py27hcfe1f94_0  pkgs/main           
tensorflow                    1.14.0 eigen_py36hedc65ad_0  pkgs/main           
tensorflow                    1.14.0 eigen_py37h6c84cfc_0  pkgs/main           
tensorflow                    1.14.0 mkl_py27hcc9de3b_0  pkgs/main           
tensorflow                    1.14.0 mkl_py36h933f829_0  pkgs/main           
tensorflow                    1.14.0 mkl_py37h085be34_0  pkgs/main           
tensorflow                    1.15.0 eigen_py27hb2c3b19_0  pkgs/main           
tensorflow                    1.15.0 eigen_py36h186cbd8_0  pkgs/main           
tensorflow                    1.15.0 eigen_py37ha0414c4_0  pkgs/main           
tensorflow                    1.15.0 mkl_py27hb55555a_0  pkgs/main           
tensorflow                    1.15.0 mkl_py36h975b573_0  pkgs/main           
tensorflow                    1.15.0 mkl_py37hb249377_0  pkgs/main           
tensorflow                     2.0.0 eigen_py27h768aa06_0  pkgs/main           
tensorflow                     2.0.0 eigen_py36h7b0d64e_0  pkgs/main           
tensorflow                     2.0.0 eigen_py37h153756e_0  pkgs/main           
tensorflow                     2.0.0 mkl_py27hf64da92_0  pkgs/main           
tensorflow                     2.0.0 mkl_py36ha38f243_0  pkgs/main           
tensorflow                     2.0.0 mkl_py37hda344b4_0  pkgs/main          

2.1以降がない。
そもそも2.0以前のバージョンでないと入れられない?

そこでたどり着いた記事がこれ。

How to install tensorflow 2.1 with conda?

最新バージョンのTensorflowをインストールするにはpipが推奨されているらしい。Anaconda環境でpipはなるべく使わない方がいいとよく見かけるけど、記事をみると大丈夫そう…

念の為pythonのバージョンをアップデートしてから、仮想環境上で

pip install tensorflow

をコマンド。

なんかうまくいったっぽい。
Anaconda Navigatorでも確認してみたら

2.4.0がインストールされてる!
TextVectorization」のエラーも出なくなった。

コメント

タイトルとURLをコピーしました