Bazel在哪里存储TenserFlow?

时间:2017-02-20 21:37:18

标签: macos tensorflow bazel

我尝试按照本指南的来源构建TensorFlow:Installing TensorFlow from Sources。构建似乎运行良好,但那是最后一步:

  

调用pip install来安装该pip包。文件名   .whlfile取决于您的平台。例如,以下命令   将在Linux上安装TensorFlow 1.0.0的pip包:

sudo pip install /tmp/tensorflow_pkg/tensorflow-1.0.0-py2-none-any.whl

如果您运行Linux,我认为这很棒,但我也很欣赏Mac OS X上的位置。

Mac上存储的包裹在哪里?我无法找到它/tmp,也找不到/Users/Library/Caches。由于在Mac上搜索被破坏,我运气不好。

2 个答案:

答案 0 :(得分:3)

听起来你可能已经跳过了一步。 Bazel不会创建此文件。 Bazel构建的程序。

您提到的https://www.tensorflow.org/install/install_sources之前的步骤是运行

$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

第二个参数指定放置wheel文件的位置。此外,该程序记录其输出目录:

$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
Mon Feb 20 22:08:08 EST 2017 : === Using tmpdir: /var/folders/yt/9r8s598x603bx58zq85yrx680096yv/T/tmp.XXXXXXXXXX.gp5oIM0Z
Mon Feb 20 22:08:13 EST 2017 : === Building wheel
Mon Feb 20 22:08:45 EST 2017 : === Output wheel file is in: /tmp/tensorflow_pkg
$ ls /tmp/tensorflow_pkg/
tensorflow-1.0.0-cp27-cp27m-macosx_10_12_intel.whl

答案 1 :(得分:1)

以下是我用于在MacOS上构建的程序

先决条件

  • 安装Bazel
  • 安装CUDA 8.0
  • 克隆张量流入〜/ git / tensorflow

然后

cd ~/git/tensorflow
git fetch --all
brew upgrade bazel

git stash
git rebase tf/master
git stash pop

# to resolve conflict from previous ./configure run
git checkout --theirs -- tensorflow/core/platform/default/build_config.bzl

# do the actual build in TMUX session to avoid losing state when closing terminal
tmux new-session -s bazel -n 0
cd ~/git/tensorflow

./configure

export CUDA_VISIBLE_DEVICES=
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/extras/CUPTI/lib
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
export PATH=$DYLD_LIBRARY_PATH:$PATH

export date=feb11
export tag=head
export flags="--config=cuda --config=opt -k --action_env PATH --action_env DYLD_LIBRARY_PATH --action_env LD_LIBRARY_PATH"

bazel build $flags -k //tensorflow/tools/pip_package:build_pip_package
rm -Rf /tmp/tensorflow_pkg
mkdir /tmp/tensorflow_pkg
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

mkdir -p ~/g/tfbins/$date.$tag
cp `find /tmp/tensorflow_pkg -type f ` ~/tfbins/$date.$tag

这会将您的wheel文件放入~/tfbins/feb11.head 您可以使用类似的东西自动./configure部分 https://github.com/yaroslavvb/stuff/blob/master/configure_tf.sh

注意,MacOS上的CUDA现在已经打破了最新的Bazel版本,如果你想要CUDA,你需要降级到0.4.3或者从头部建立Bazel - https://github.com/tensorflow/tensorflow/issues/7227

然后你可以通过这样做公开分享轮子(首先设置gsutil并选择不同的$ bucket)

export wheel=`find ~/tfbins/$date.$tag -type f`
export basename=`find ~/tfbins/$date.$tag -type f -printf "%f\n"`
cd ~/tfbins/$date.$tag
fullname=$date.$tag.$basename
ln -s $basename $fullname
export bucket=tensorflow-community-wheels
gsutil cp $fullname gs://$bucket
gsutil acl set public-read gs://$bucket/$fullname

echo https://storage.cloud.google.com/$bucket/$fullname

然后将从最后一行打印的链接分享到https://github.com/yaroslavvb/tensorflow-community-wheels:)