PR

【Windows10】UbuntuでTensorFlow for Cを使う

Windows10のUbuntuにTensorFlow for Cをインストールしたときの方法について

UbuntuのバージョンはUbuntu 20.04 LTS,TesnsorFlowのバージョンは最新の2.4.0

参考にしたのは以下の公式サイト

TensorFlow for C のインストール

それではいってみよう

スポンサーリンク

インストール方法の説明

STEP1

TensorFlow for C のインストールにアクセスする

https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-cpu-linux-x86_64-2.4.0.tar.gzをクリックしてダウンロードする

STEP2

Ubuntuのホームディレクトリにlibtensorflow-cpu-linux-x86_64-2.4.0.tar.gzをコピーする

絶対パスは以下のとおり

C:\Users\ユーザー名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\

WSLのホームディレクトリの場所@2019 - Qiita

STEP3

ホームディレクトリの管理者をrootから自分に変更する

:~$ cd ..
:/home$ ls -lXhFv --group-directories-first
total 0
drwxr-xr-x 1 root root 512 Jun 19 15:42 mtkbirdman/
:/home$ sudo chown -R $USER:$USER mtkbirdman/
:/home$ ls -lXhFv --group-directories-first
total 0
drwxr-xr-x 1 mtkbirdman mtkbirdman 512 Jun 19 15:42 mtkbirdman/

このステップはいらない人もいるかも

STEP4

.tar.gzを~/TensorFlowに解凍する

:/home$ cd
:~$ mkdir TensorFlow
:~$ ls -lXhFv --group-directories-first
total 627M
drwx------ 1 mtkbirdman mtkbirdman 512 Aug 6 2020 OpenFOAM/
drwxr-xr-x 1 mtkbirdman mtkbirdman 512 Jun 19 15:44 TensorFlow/
-rwx------ 1 mtkbirdman mtkbirdman 527M Jul 11 2020 OpenFOAM-v2006-windows10.tgz*
-rwx------ 1 mtkbirdman mtkbirdman 30M Jul 10 2020 gmsh-4.6.0-Windows64.zip*
-rwx------ 1 mtkbirdman mtkbirdman 71M Jun 19 14:54 libtensorflow-cpu-linux-x86_64-2.4.0.tar.gz*
:~$ tar -C ./TensorFlow -xzf libtensorflow-cpu-linux-x86_64-2.4.0.tar.gz
:~$ ls -lXhFv --group-directories-first ./TensorFlow
total 472K
drwxr-xr-x 1 mtkbirdman mtkbirdman 512 Jan 1 2000 include/
drwxr-xr-x 1 mtkbirdman mtkbirdman 512 Jan 1 2000 lib/
-r-xr-xr-x 1 mtkbirdman mtkbirdman 12K Jan 1 2000 LICENSE*
-r-xr-xr-x 1 mtkbirdman mtkbirdman 444K Jan 1 2000 THIRD_PARTY_TF_C_LICENSES*
STEP5

.bashrcにリンカー環境変数を追加する

# .bashrc
# TensorFlow for C
export LIBRARY_PATH=$LIBRARY_PATH:~/TensorFlow/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/TensorFlow/lib
STEP6

作業ディレクトリに移動してサンプルプログラムをコンパイルし,実行可能ファイルを作成して実行する

:~/OpenFOAM/mtkbirdman-v2006$ cd $WM_PROJECT_USER_DIR/
:~/OpenFOAM/mtkbirdman-v2006$ touch hello_tf.c
:~/OpenFOAM/mtkbirdman-v2006$ vim hello_tf.c
:~/OpenFOAM/mtkbirdman-v2006$ gcc hello_tf.c -ltensorflow -o hello_tf
/usr/bin/ld: /home/mtkbirdman/TensorFlow/lib/libtensorflow.so: .dynsym local symbol at index 857 (>= sh_info of 2)
/usr/bin/ld: /home/mtkbirdman/TensorFlow/lib/libtensorflow.so: .dynsym local symbol at index 1944 (>= sh_info of 2)
/usr/bin/ld: /home/mtkbirdman/TensorFlow/lib/libtensorflow.so: .dynsym local symbol at index 2314 (>= sh_info of 2)
/usr/bin/ld: /home/mtkbirdman/TensorFlow/lib/libtensorflow.so: .dynsym local symbol at index 2502 (>= sh_info of 2)
/usr/bin/ld: /home/mtkbirdman/TensorFlow/lib/libtensorflow.so: .dynsym local symbol at index 2724 (>= sh_info of 2)
/usr/bin/ld: /home/mtkbirdman/TensorFlow/lib/libtensorflow.so: .dynsym local symbol at index 2725 (>= sh_info of 2)
:~/OpenFOAM/mtkbirdman-v2006$ ./hello_tf
Hello from TensorFlow C library version 2.4.0

実行可能ファイルhello_tf.cの中身はこれ

#include <stdio.h>
#include <tensorflow/c/c_api.h>

int main() {
  printf("Hello from TensorFlow C library version %s\n", TF_Version());
  return 0;
}

おわりに

TensorFlow for CをUbuntuにインストールすることができた

コメント