ubuntu16.04 +tensorflow1.4安装 + 运行问题解决
2017-11-17 11:52
447 查看
ubuntu16.04 +tensorflow1.4安装
1、下载anaconda最新版,并安装:
bash Anaconda3-5.0.1-Linux-x86_64.sh
安装完成后输入:source ~/.bashrc.环境配置生效。
2、安装tensorflow环境以及tensorflow软件
conda create -n tensorflow python=3.5
source activate tensorflow
pip install --ignore-installed --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp35-cp35m-linux_x86_64.whl
注意:
@国内无法访问https://storage.googleapis.com/,去github上找对应的下载代替掉。但不知道为什么,安装完成后没有tensorboard功能。
@找国内清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/
@这里如果python版本和tensorflow-1.4.0-cp35-cp35m-linux_x86_64.whl的版本不一致,安装时会出现*.whl is not supported wheel on this platform的错误提升信息。
3、运行:
source activate tensorflow
否则import tensorflow时会提示找不到。
sudo ldconfig /usr/local/cuda/lib64
或者
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
否则会提示libcublas.so.8.0:cannot open shared object file:No such file or directory
4、电脑重启后无法进入source
~/.bashrc中添加:
exprot PATH=/home/chenxi/Anaconda/bin:$PATH
tensorflow问题:
问题一、报错 failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_INVALID_DEVICE
tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x3f287f0 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that.
原因是在创建session时没有使用我想让它用的gpu,所以需要设置CUDA_VISIBLE_DEVICES
方法1 在python程序中
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
方法2
运行时
CUDA_VISIBLE_DEVICES=1 python **.py
方法3
直接在环境变量中 export
问题二、CUDA_ERROE_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to alloc 17179869184 bytes on host: CUDA_ERROR_OUT_OF_MEMORY
W ./tensorflow/core/common_runtime/gpu/pool_allocator.h:195] could not allocate pinned host memory of size: 17179869184
Killed
是 服务器的GPU大小为M,tensorflow只能申请N(N<M),也就是tensorflow告诉你 不能申请到GPU的全部资源 然后就不干了。
解决方法:
找到代码中Session
在session定义前 增加
config = tf.ConfigProto(allow_soft_placement=True)
#最多占gpu资源的70%
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
#开始不会给tensorflow全部gpu资源 而是按需增加
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
这样就没问题了
问题三、训练中,GPU占用率低。
目前无解,ubuntu下能全速运行。
1、下载anaconda最新版,并安装:
bash Anaconda3-5.0.1-Linux-x86_64.sh
安装完成后输入:source ~/.bashrc.环境配置生效。
2、安装tensorflow环境以及tensorflow软件
conda create -n tensorflow python=3.5
source activate tensorflow
pip install --ignore-installed --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp35-cp35m-linux_x86_64.whl
注意:
@国内无法访问https://storage.googleapis.com/,去github上找对应的下载代替掉。但不知道为什么,安装完成后没有tensorboard功能。
@找国内清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/tensorflow/
@这里如果python版本和tensorflow-1.4.0-cp35-cp35m-linux_x86_64.whl的版本不一致,安装时会出现*.whl is not supported wheel on this platform的错误提升信息。
3、运行:
source activate tensorflow
否则import tensorflow时会提示找不到。
sudo ldconfig /usr/local/cuda/lib64
或者
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
否则会提示libcublas.so.8.0:cannot open shared object file:No such file or directory
4、电脑重启后无法进入source
~/.bashrc中添加:
exprot PATH=/home/chenxi/Anaconda/bin:$PATH
tensorflow问题:
问题一、报错 failed call to cuDevicePrimaryCtxRetain: CUDA_ERROR_INVALID_DEVICE
tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x3f287f0 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that.
原因是在创建session时没有使用我想让它用的gpu,所以需要设置CUDA_VISIBLE_DEVICES
方法1 在python程序中
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
方法2
运行时
CUDA_VISIBLE_DEVICES=1 python **.py
方法3
直接在环境变量中 export
问题二、CUDA_ERROE_OUT_OF_MEMORY
E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to alloc 17179869184 bytes on host: CUDA_ERROR_OUT_OF_MEMORY
W ./tensorflow/core/common_runtime/gpu/pool_allocator.h:195] could not allocate pinned host memory of size: 17179869184
Killed
是 服务器的GPU大小为M,tensorflow只能申请N(N<M),也就是tensorflow告诉你 不能申请到GPU的全部资源 然后就不干了。
解决方法:
找到代码中Session
在session定义前 增加
config = tf.ConfigProto(allow_soft_placement=True)
#最多占gpu资源的70%
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
#开始不会给tensorflow全部gpu资源 而是按需增加
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
这样就没问题了
问题三、训练中,GPU占用率低。
目前无解,ubuntu下能全速运行。
相关文章推荐
- 在ubuntu16.04下安装Anaconda配置TensorFlow-GPU+MNIST: Resource exhausted: OOM的问题解决
- Ubuntu 16.04安装NVIDIA显卡驱动 、CUDA-8.0、cuDNN和TensorFlow问题及解决方法
- Ubuntu16.04下安装Anaconda,tensorflow以及解决spyder中无法import tensorflow问题
- ubuntu16.04(64位)安装wps及相关问题解决
- 搭建Ubuntu环境中的Error [dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题][安装Flashplayer出错 ]
- ubuntu16.04无法连接无线的问题解决方式以及QQ的安装
- 安装ubuntu 16.04虚拟机遇到busybox-initramfs 无法安装问题的解决
- Ubuntu使用dpkg安装软件依赖问题解决 ubuntu-tweak ubuntu 16.04 LTS 系统清理
- ASUS-A501UB安装Ubuntu16.04要解决的问题.
- ubuntu16.04下安装wps出现的问题及其解决办法
- python 里安装 tensorflow 后运行出错的问题解决
- ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' 问题解决!
- 一步步搭建Ubuntu环境——dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题——安装Flashplayer出错
- 如何解决虚拟机vmware安装ubuntu16.04屏幕显示过小问题?
- ubuntu 16.04 的64位 安装arm-none-linux-gnueabi-gcc的步骤和问题解决
- thinkpad E570 安装ubuntu16.04后wifi及无声音的问题和解决方法
- Ubuntu16.04下eclipse安装与运行不正常问题解决
- Ubuntu 16.04安装搜狗拼音输入法错误问题的解决方法
- 解决ubuntu 16.04安装mysql5.7.17后,登录时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题
- 关于Ubuntu16.04安装opencv2.4.13及编译运行opencv程序的相关问题