Swigを使用して、 Tensorflowの周りに Ruby ラッパーを構築する手助けをしようとしています。現在、私は共有ビルドを作成し、その C/C++ ヘッダーを Ruby に公開することに行き詰まっています。問題は、OSX El Capitan で共有ライブラリとして利用できるように、完全な Tensorflow ライブラリを含む共有ビルドをビルドするにはどうすればよいですか(注: El Capitan では読み取り専用です)。.so
libtensorflow.so
/usr/lib/
バックグラウンド
このruby-tensorflowプロジェクトでは、 Tensorflow.bundle
ファイルをパッケージ化する必要がありますirb -Ilib -rtensorflow
が、スペックを実行しようとすると、基本的な数値型が定義されていないというエラーが表示されますが、ここでrspec
明確に定義されています。
.so
ファイルが正しく作成されていないか、何かが適切にリンクされていないために、これが発生すると推測しています。C++/Swig/Bazel は私の得意分野ではありません。Tensorflow の学習と Ruby での優れたラッパーの構築に集中したいと思っていますが、この時点でその楽しい部分に到達するのにかなり行き詰まっています。
私がやったこと:
git clone --recurse-submodules https://github.com/tensorflow/tensorflow
cd tensorflow
bazel build //tensorflow:libtensorflow.so
(私のマシンで10〜15分待ちます)- 生成され
libtensorflow.so
た (166.6 MB) を/ext
-folderにコピーしました - プロジェクトに記述されている
ruby extconf.rb
、make
、および を実行します。make install
- 走る
rspec
必死になって、ソースからの公式インストールsudo pip install /tmp/tensorflow_pkg/tensorflow-0.9.0-py2-none-any.whl
も何度か行いましたが、最後のステップで共有ビルドが作成されるのか、Python インターフェイスが公開されるだけなのかはわかりません。
元のリポジトリを作成し、私が従った指示を作成した Arafat という男は、彼の Linux マシンで 4.5 GBlibtensorflow.so
だと言っています。UPDATE1:彼は、彼の-build は302.2 MBで、4.5GB は tensorflow フォルダー全体のサイズであると言います。libtensorflow.so
任意のヘルプまたは代替アプローチは非常に高く評価されています!