毕竟,在Linux上设置Tensorflow的正确方法是什么?

问题描述:

我有一些关于Tensorflow的错误信息问题。很多地方的信息很多,而且还不够完整。毕竟,在Linux上设置Tensorflow的正确方法是什么?

我使用CUDA 8.0,cuDNN建立了我的系统,并且我有Keras + Theano在python 2.7中正常工作。我正在尝试移动到Tensorflow。

正如我曾与numpy的和其他的东西兼容性问题,当我试图在同一个环境中进行安装,我安装miniconda2,创造了一个虚拟的ENV它conda create -n tensorflow pip并激活它,按照指示在这里:https://www.tensorflow.org/install/install_linux#InstallingAnaconda

环境似乎可操作。

后来,我从https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.1-cp27-none-linux_x86_64.whl安装tensorflow也Keras,才发现我已经重复上conda list一些模块,一些标有一个版本字符串,别人只标有<pip>。特别是,我得到了一个Tensorflow-gpu 1.2.1Tensorflow 1.1.0。两个都。旧版本与Keras一起来。

此外,还有警告无数的约Tensorflow不被编译使用某些CPU指令集,这里面的这个答案How to compile Tensorflow with SSE4.2 and AVX instructions?关于使用basel编译它,但我真的不觉得在哪里把源的任何信息代码以及运行该bazel命令行后要移到哪个文件。更糟糕的是,每当我运行一个简单的20x20矩阵乘法代码作为设备时,代码列表中可怕的警告正确检测到GTX 1070的存在,但从未真正确认它是用于计算的。 "/cpu:0"上跑得更快。我多么想念Theano ...

有人能指出我发现我在哪里可以找到:

  1. 什么版本下载Tensorflow是当前(不一定是最新的)吗?
  2. 简明的步骤来完成它,如何测试如果这些步骤是正确的?

我使用Linux Mint的18

+0

*是关于帮助人们修复他们的编程代码。安装调试,教程,研究,工具,建议,库和代码的请求是无关紧要的。 ***请***阅读http://*.com/help/how-to-ask,http://*.com/help/dont-ask,http://*.com/help/mcve和参加[旅游](http://*.com/tour),然后在此发布更多Q​​.祝你好运。 – shellter

+0

与代码/输入/期望输出/当前输出/错误消息一起发布1问题。祝你好运。 – shellter

我已经使用畅达,并且已经安装Tensorflow = 1.1.0,但似乎永远都蟒蛇内工作正常。我还遇到过github问题,蟒蛇目前正在研究Tensorflow GPU版本,所以无论我在蟒蛇中尝试过什么,它都没有使用我的Tesla NVIDIA P100-SXM2-16GB卡,它仅使用CPU。

我建议你使用正常的环境,直到他们得到Tensorflow-gpu才能在Anaconda工作。

要检查tensorflow-gpu是否有效,我使用TF0.12/TF1.0的Inception v3模型。

这是我通过安装tensorflow1的过程。0:

步骤0

sudo -i 
apt-get install aptitude 
aptitude install software-properties-common 
apt-get install libcupti-dev pip 
apt-get update 
apt-get upgrade libc6 

步骤1.安装NVIDIA组件。我想你已经有安装

https://developer.nvidia.com/rdp/cudnn-download (注册中需要NVIDIA的加速计算开发者计划)

Cudnn 5.1工程以及下载NVIDIA cuDNN 5.1 CUDA 8.0与大多数架构和操作系统的出有

步骤2.安装巴泽勒和tensorflow

apt-get install bazel 

你可以去这个链接https://pypi.python.org/pypi/tensorflow-gpu/1.1.0rc0,做一个

pip install <python-wheel-version> 

如果你有python2.7和python 3 *安装,然后使用PIP2来安装python2.7

第3步:安装的openjdk

apt-get install openjdk-8-jdk 

步骤4. GIT中克隆启模型代码

git clone https://github.com/tensorflow/models.git 
cd models 
git checkout master 
cd inception 

这就是其中bazel进来的图片。请参阅Bazel的Getting Started文档以获取有关目标的更详细说明。所以,如果你做一个

ls -lstr 

你可能会看到5个巴泽勒相关的符号链接

bazel-bin bazel-genfiles bazel-inception bazel-out bazel-testlogs 

这些都是你建立你的具体型号

目标目录假设你是型号/成立目录

bazel build inception/imagenet_train 

这激活了符号链接

注意:要使此imagenet_train.py正常工作,您需要准备imagenet数据集。你要么跳过这一部分还是经过这样的:

STEP 5在运行的第一次训练脚本准备Imagenet数据集 ,你需要将ImageNet数据下载和转换为本地TFRecord格式。 首先,您需要注册一个ImageNet帐户才能访问数据。查找注册页面,创建一个帐户并请求访问密钥以下载数据。

在您拥有USERNAME和PASSWORD后,即可开始运行我们的脚本。确保您的硬盘至少有500 GB的可用空间用于下载和存储数据。在这里,我们选择DATA_DIR = $ HOME/imagenet-data作为这样一个位置,但可以相应地进行编辑。

当您运行下面的脚本时,请在出现提示时输入USERNAME和PASSWORD。这将在一开始就发生。输入这些值后,您将不需要再次与脚本进行交互。

#location of where to place the ImageNet data 
DATA_DIR=$HOME/imagenet-data 

这里$ HOME是/根

# build the preprocessing script. 
bazel build inception/download_and_preprocess_imagenet 

# run it 
bazel-bin/inception/download_and_preprocess_imagenet "${DATA_DIR}" 
# Place the tensor records at /root/dataset 

步骤6.源巴泽勒和tensorflow 此步骤是非常重要的。这将激活python软件包,我想你可能会得到错误,因为tensorflow的python软件包没有激活。 如果跳过第5步,那么你可能要到

/models/inception/sample 

和运行gpu.py脚本

python gpu.py 

这应该确认您的tensorflow版本与您的GPU

source /opt/DL/bazel/bin/bazel-activate 
source /opt/DL/tensorflow/bin/tensorflow-activate 

您还可以通过导入tensorflow到python 例如: 导入tensorflow作为tf

找到一个Hello World例如在其网站上,如果这使错误,那么它并没有被正确安装

第7步:运行imagenet培训 - 您可以跳过这一步,如果你跳过第5步

bazel-bin/inception/imagenet_train --num_gpus=1 --batch_size=256 --train_dir=/tmp --data_dir=/root/dataset/ --max_steps=100