gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:24 24 4
gpt4 key购买 nike

我遇到了一些有关 Tensorflow 的错误信息问题。关于很多地方的大量信息,但永远不够完整。

我的系统设置为 CUDA 8.0、cuDNN,并且 Keras + Theano 可以与 python 2.7 正常工作。我正在尝试迁移到 Tensorflow。

由于当我尝试在同一环境中安装 numpy 和其他东西时遇到兼容性问题,我安装了 miniconda2,为其创建了一个虚拟环境 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 命令行后将哪些文件移动到哪里的信息。

更糟糕的是,每当我使用 "/gpu:0" 运行简单的 20x20 矩阵乘法代码时作为设备,代码列表显示可怕的警告,正确检测到 GTX 1070 的存在,但从未真正确认它用于计算。而且它在 "/cpu:0"运行速度更快 。我多么想念 Theano...

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

  1. 要下载最新的 Tensorflow 版本(不一定是最新版本)?
  2. 完成任务的简明步骤以及如何测试这些步骤是否正确?

我正在使用 Linux Mint 18。

最佳答案

我已经使用了 conda 并安装了 Tensorflow=1.1.0,但它似乎从未在 python 中正常工作。我还在 github issues 中发现 anconda 目前正在开发 Tensorflow GPU 版本,因此无论我在 Anaconda 中尝试什么,它都从未使用过我的 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 组件。我认为您已经安装了

从以下位置下载适用于 CUDA 8.0 的 NVIDIA cuDNN 5.1 https://developer.nvidia.com/rdp/cudnn-download(需要注册 NVIDIA 加速计算开发者计划)

Cudnn 5.1 适用于大多数架构和操作系统

步骤2.安装bazel和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 克隆 Inception 模型代码

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

这就是bazel出现的地方。请参阅 Bazel 的 Getting Started文档以更详细地解释目标是什么。所以,如果你做了

ls -lstr

您可能会看到 5 个 bazel 相关符号链接(symbolic link)

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

这些是您构建特定模型的目标目录

假设您位于 models/inception 目录

bazel build inception/imagenet_train

这将激活符号链接(symbolic link)

注意:要使 imagenet_train.py 正常工作,您需要准备 imagenet 数据集。您可以跳过此部分或完成此部分:

第 5 步。 准备 Imagenet 数据集在首次运行训练脚本之前,您需要下载 ImageNet 数据并将其转换为原生 TFRecord 格式。首先,您需要注册 ImageNet 帐户才能访问数据。查找注册页面,创建帐户并请求访问 key 以下载数据。

获得用户名和密码后,您就可以运行我们的脚本了。确保您的硬盘至少有 500 GB 的可用空间用于下载和存储数据。这里我们选择 DATA_DIR=$HOME/imagenet-data 作为这样的位置,但请随意进行相应的编辑。

当您运行以下脚本时,请在出现提示时输入用户名和密码。这将在一开始就发生。输入这些值后,您将不需要再次与脚本交互。

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

这里$HOME是/root

# 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步。源bazel和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

关于python - 毕竟,在 Linux 上设置 Tensorflow 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44953964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com