Mike Gancarz プログラムを速くすることに時間をかけない
TensorFlowをGitからクローンして、Hello Worldを表示するまでの手順をご紹介します。
まず、Gitがインストールされていることを確認してください。
TensorFlowのリポジトリをクローン: ターミナルまたはコマンドプロンプトを開き、TensorFlowの公式GitHubリポジトリをクローンします。
git clone https://github.com/tensorflow/tensorflow.git
これにより、TensorFlowのソースコードが現在のディレクトリにクローンされます。
実行例
git clone https://github.com/tensorflow/tensorflow.git
Cloning into 'tensorflow'...
remote: Enumerating objects: 1645804, done.
remote: Counting objects: 100% (517/517), done.
remote: Compressing objects: 100% (301/301), done.
remote: Total 1645804 (delta 259), reused 438 (delta 211), pack-reused 1645287
Receiving objects: 100% (1645804/1645804), 916.41 MiB | 3.14 MiB/s, done.
Resolving deltas: 100% (1338304/1338304), done.
Updating files: 100% (31240/31240), done.
TensorFlowのソースコードをクローンした後、そのソースコードをビルドしてTensorFlowを実行可能な形式にコンパイルする必要があります。
つまり、ソースコードをクローンするだけではTensorFlowがすぐに使用可能になるわけではありません。
TensorFlowをビルド: TensorFlowのソースコードをクローンした後、次のコマンドを実行してビルドします。
cd tensorflow
./configure # 必要に応じて構成オプションを設定します
bazel build //tensorflow/tools/pip_package:build_pip_package
このコマンドにより、TensorFlowがビルドされ、Pythonパッケージが生成されます。
ビルドが正常に完了したら、TensorFlowをインストールします。
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/*.whl
これにより、ビルドしたTensorFlowがインストールされます。
TensorFlowのディレクトリに移動: クローンしたTensorFlowのディレクトリに移動します。
cd tensorflow
Hello Worldスクリプトを作成:
TensorFlowのソースコードディレクトリに移動したら、Pythonスクリプトを作成します。例えば、hello_world.py
という名前のファイルを作成し、以下のコードを追加します。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
with tf.compat.v1.Session() as session:
result = session.run(hello)
print(result.decode())
作成したHello Worldスクリプトを実行します。
python hello_world.py
TensorFlowが正しくセットアップされていれば、Hello Worldメッセージが表示されます。
これで、GitからTensorFlowをクローンしてHello Worldを表示する手順が完了しました。
必要に応じて、TensorFlowのバージョンや依存関係に関する注意事項に注意してください。
また、TensorFlowのビルドやインストール手順が必要な場合がありますので、公式ドキュメントやGitHubリポジトリのREADMEを参照してください。
次のようなエラーが出ることがあります。ビルドするためには、十分HDDに空き容量があるか確認してください。
詳細は TensorFlow のドキュメントをご確認ください。
エラーの例:
To set Python version, run
export TF_PYTHON_VERSION=3.9
WARNING: Download from https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz failed: class java.io.FileNotFoundException GET returned 404 Not Found
INFO: Analyzed target //tensorflow/tools/pip_package:build_pip_package (657 packages loaded, 42686 targets configured).
INFO: Found 1 target...
ERROR: /Users/xxxxxxxxxxx/tensorflow/core/kernels/BUILD:3452:18: Linking tensorflow/core/kernels/libargmax_op.lo failed: (Exit 1): libtool failed: error executing command (from target //tensorflow/core/kernels:argmax_op) external/local_config_cc/libtool @bazel-out/darwin-opt/bin/tensorflow/core/kernels/libargmax_op.lo-2.params
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't write to output file (No space left on device)
ERROR: I/O error while writing action log: write (No space left on device)
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 6833.156s, Critical Path: 334.21s
INFO: 11651 processes: 2813 internal, 8838 local.
FAILED: Build did NOT complete successfully