0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Tensorflowをソースからビルドするも、tensorflow.keras使えなくて萎える件

Posted at

はじめに

みなさんの使っているPCのCPUは、AVX命令に対応していますか?ここ10年以内にIntelCPUのPCを新規で買った人には関係ないとは思います。それが、普通なのかもしれません。しかし、私のGPUを使えるマシンではCPUがAVX命令に対応していません。AVX命令がないとなんの不自由があるのかって?Ver.1.6以降のTensorflowが、AVXがないCPUだと動かんのですよ。
昨年、Githubから先達のPythonソースをもらってきて動かそうとすると・・・そいつがTesorflow2.2以降を要求するのです。あー、はいはい、Tensorflowね、っと Pip インストールとかして、まぁ文句も言われずインストールできたのですが、いざ、動かそうとすると「無言で終了する」現象が発生していました。そういうものか、と思っていたのですが、そうではなくて、先達のPythonスクリプトが呼び出したTensorflowが動作せずにエラーが出ているのを、エラーメッセージの出力なしにストップしていただけということがわかり・・・。理由をしらべてみると、Tensorflow2.xは古いCPUでは動かないという情報を発見。いったんこのPCの利用をやめてしまったのですが・・・

こいつがうちで唯一のWindowsOSマシンであり、GPUを積んでメモリが64GBも積んであるXeonマシン。WindowsOSのデベロッパープレビューではWSLからGPUを使えるようになったと情報(日本語での方法案内は、例えば、こちらこちら)を受け、そのパフォーマンスが悪くないとのうわさも聞いて何とか動かせないかと・・・PCの買い替えは今使ってるPCの処分方法にも困る(購入資金の問題、処分どうする?問題という多重の問題を発生させる)ので、避けたいところです。

Tensorflowをソースからビルドする

当該AVX非対応PCにて、WSL2上でTensowflowをソースしてはどうか、というのが私の考え。そこで、公式に従ってビルドするのですが・・・なんですか、このビルドに要する時間の長さ!12時間ほどかかりましたよ。ビルド時間すら時間かかりすぎじゃね?ビルド中のCPU使用率をみても20%前後の低空飛行。全力で2時間で終わらせろよ!とか思ってしまいました・・・
スクリーンショット 2021-02-07 221615.png

先の参考記事の参考でWSL2でのパフォーマンスは素のWindows利用時よりも落ちることとその理由がCPUの使い方に制限があるかも、とか、ビルド中にWindowsのファイルシステムにアクセスしてるのかも・・とも推察できるのですが、その解決方法もわからず耐え忍ぶことにしました。

耐え忍びながら、調べてみた参考情報。

WSL2でつくる快適なUbuntu環境
wsl.conf と .wslconfig -- roy-n-roy メモ

とりあえず、WSL2 linux 側に /etc/wsl.conf を作って次の書き込みを行っておきました。

[interop]
enabled=true                # WSL内からWindowsプログラムの起動をサポートする (ver1809以降)
appendWindowsPath=true      # WSL内のPATH環境変数に、WindowsのPATH環境変数を追加する (ver1809以降)

いざ、実行・・・だが・・・

さて、ビルドのできたTensorflowを(これも公式の手順にしたがって)Python pip でインストール。意気揚々と、元来の目的の先達のPythonスクリプトを実行したのでありますが・・・

だめです。

tensorflow.keras が見つかりません、というようなエラーがでます。うーんまぁ、kerasが見つかればいいんだよね、ということで、pip でkerasをインストールして、ソースも書き換えてから実行すると・・・今度は、kerasがTensorflowが見つかりません、というようなエラーを出し・・・あ、そうか自前でビルドしたTensorflowをpyplのkerasは見つけてくれないのか・・・と。

じゃぁ、tensorflowをソースからビルドしたひとはどうやってkerasを使うのか。わからん。

そんなの解説したマニアックな先達がGoogleでは見つからない。2020年中ごろから、kerasってtensorflowの一部に統合されているのでtensorflowをビルドすれば一緒にできあがるのでは、と勝手に期待して・・・。公式に加えて、以下を実行。

python3 -m pip install keras-applications

意味があるのかどうか、わかりませんが・・・

再度、ビルド命令・・・。また、12時間。

だめかも

まだ、ビルドが終わりませんけど、あんまり期待しておりません。WindowsではDocker-composeが使いづらい(-Vパスの指定の方法が理解できない)ので、今回だめだったら、WSL2もあきらめて、OSをUbuntuに変えようと思っています。・・・というか、PCを買い替えるほうがいいのだろうか・・・。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?