Mike Gancarz プログラムを速くすることに時間をかけない

blog image
TensorFlow をビルドし Hello World

TensorFlowをGitからクローンして、Hello Worldを表示するまでの手順をご紹介します。

まず、Gitがインストールされていることを確認してください。

Git Pull

  • 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がインストールされます。

Hello Worldスクリプトを作成

  • 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


更新日:2023-09-17