上記の公式ページを参考にして、すんなりいけると思っていたのですが、意外と苦戦したのでやり方を書きます。
基本的にはインターネットにつながる環境からパッケージをダウンロードしてきて
インターネットにつながらない環境に持ってくるという作業になります。
環境
CentOS Linux release 7.3.1611
事前準備
いくつか必要なパッケージがあるのでインストールします。
すでにあるものは飛ばして大丈夫です。
JDK
後ほど出てくるbazelのインストールに必要となります。
公式から落としてきます。
インストール方法はググれば色々出てくるので省略します。
Anaconda
python、jupyter、numpyなどが入ってます。
上記サイトからダウンロードします。
インストールはbashコマンドをたたくだけです。
$ bash Anaconda2-5.0.1-Linux-x86_64.sh
.bashrcにインストールしたパスをexportしましょう。
export PATH="<インストールパス>/bin:$PATH"
bazel
Tensorflowのインストールに必要になります。
上記サイトから
bazel-0.5.4-without-jdk-installer-linux-x86_64.sh
をダウンロードします。
もしかしたらJDKはインストールしなくてもこちらでjdkありのソースを落としても良かったかもしれません。
筆者はTensorflow1.4をインストールする予定だったのでbazelのバージョンは0.5.4を採用しました。
適宜バージョンはご自身の環境に合わせてインストールしてください。
どのバージョンをインストールするかは下記ページで確認できます。
インストールはbashコマンドを実行するだけです。
$ bash bazel-0.5.4-without-jdk-installer-linux-x86_64.sh
#Tensorflowのインストール
ここからが本番です。
まずは、公式にのっとって、configureします。
$ cd tensorflow
$ ./configure
色々聞かれますが必要に応じてyes/noを選択してください。
公式通り進むと下記コマンドを実行するように聞かれます。
$ bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
ここでこけます。
内部でインターネットにつなげていろいろパッケージをインストールしようとするためです。
ダウンロード先を管理しているファイルはtensorflowディレクトリの以下にあります。
tensorflow/workspace.bzl
ここのURLを無理やり書き換える操作を行います。
protobuf_archiveを例に記述します。
インターネットにつなげる環境からまずパッケージをダウンロードします。
適当なディレクトリにおいて、以下コマンドを実行します。
$ python -m SimpleHTTPServer 8000
tensorflow/workspace.bzl
の2番目以降のURLを書き換えます。
ここで1番目のURLを書き換えるとエラーになってしまいますので、必ず2番目以降を書き換えてください。
変更前
tf_http_archive(
name = "protobuf_archive",
urls = [
"https://mirror.bazel.build/github.com/google/protobuf/archive/b04e5cba356212e4e8c66c61bbe0c3a20537c5b9.tar.gz",
"https://github.com/google/protobuf/archive/b04e5cba356212e4e8c66c61bbe0c3a20537c5b9.tar.gz",
],
変更後
tf_http_archive(
name = "protobuf_archive",
urls = [
"https://mirror.bazel.build/github.com/google/protobuf/archive/b04e5cba356212e4e8c66c61bbe0c3a20537c5b9.tar.gz",
"http://localhost:8000/b04e5cba356212e4e8c66c61bbe0c3a20537c5b9.tar.gz",
],
これを面倒ですが全ファイル分行います。
たまに存在しないファイルもあるのでそれは無視して大丈夫です。
これで、ビルドが成功するので公式通り下記コマンドを実行します。
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
最後に、インストールを行います。
$ pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-py2-none-any.whl
ファイル名はインストールした内容によって異なるので各自書き換えてください。
ここでまたしてもこけます。理由は前と同じです。
足りないライブラリは各自でダウンロードしてインストールしてください。
筆者がインストールしたのは以下です。
これもAnacondaやTensorflowのバージョンによっては異なるかもしれません。
Markdown-2.6.10.zip
absl-py-0.1.7.tar.gz
backports.weakref-1.0.post1-py2.py3-none-any.whl
bleach-1.5.0-py2.py3-none-any.whl
html5lib-0.9999999-py2-none-any.whl
mock-2.0.0-py2.py3-none-any.whl
pbr-3.1.1-py2.py3-none-any.whl
protobuf-3.5.1-py2.py3-none-any.whl
tensorflow_tensorboard-0.4.0rc3-py2-none-any.whl
依存関係にあるライブラリもインストールしました。
.whlファイルはpip install *.whl
でインストールできます。
tar.gz
や.zip
で圧縮されているファイルは解凍後、
python setup.py install
を実行することでインストールされます。
全てインストールした後に再度pip install
を実行すると成功です!