Tensorflow问题汇总

问题:

Cannot assign a device for operation ‘MatMul‘: Operation was explicitly assigned to /device:GPU:1 but available devices are [ /job:localhost/replica:0/task:0/device:CPU:0, /job:localhost/replica:0/task:0/device:GPU:0 ]. Make sure the device specification refers to a valid device.

解决方法:

1. 卸载tensorflow,安装tensorflow-gpu

pip uninstall tensorflow

pip install tensorflow-gpu

2. 将乘法操作移到gpu以外执行

示例:

# old
with tf.Session() as sess:
    matrix1 = tf.constant([[3., 3.]])
    print("matrix1:",matrix1)
    matrix2 = tf.constant([[2.],[2.]])
    print("matrix2:",matrix2)
    with tf.device("/gpu:1"):
        # 将乘法运算移到外面执行
        product = tf.matmul(matrix1, matrix2)
        result = sess.run(product)
        print("result:",result)

# new
with tf.Session() as sess:
    matrix1 = tf.constant([[3., 3.]])
    print("matrix1:",matrix1)
    matrix2 = tf.constant([[2.],[2.]])
    print("matrix2:",matrix2)
    product = tf.matmul(matrix1, matrix2)
    with tf.device("/gpu:1"):
        result = sess.run(product)
        print("result:",result)

正确结果:

C:\Users\bin>python d:/PycharmProjects/TFLearn/Unit1/03.py
2018-01-11 22:43:03.490996: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX
2018-01-11 22:43:04.077880: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1030] Found device 0 with properties:
name: GeForce GT 740M major: 3 minor: 5 memoryClockRate(GHz): 1.0325
pciBusID: 0000:01:00.0
totalMemory: 1.00GiB freeMemory: 836.07MiB
2018-01-11 22:43:04.078060: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GT 740M, pci bus id: 0000:01:00.0, compute capability: 3.5)
matrix1: Tensor("Const:0", shape=(1, 2), dtype=float32)
matrix2: Tensor("Const_1:0", shape=(2, 1), dtype=float32)
result: [[ 12.]]

问题:

Could not find ‘cudnn64_6.dll‘. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Note that installing cuDNN is a separate step from installing CUDA, and this DLL is often found in a different directory from the CUDA DLLs. You may install the necessary DLL by downloading cuDNN 6 from this URL: https://developer.nvidia.com/cudnn

解决方法:

1. 安装cudn:

https://developer.nvidia.com/rdp/cudnn-download

https://developer.nvidia.com/cuda-zone

nvidia官网经常更新,请下载对应的版本,cudn和cudnn dll 版本号不一样,比如tensorflow-gpu 1.4对应cndn8,同时需要下载cudnn64_6.dll for cudn8。

2. 下载cudnn64_6,解压到指定cudn目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0

pan.baidu.com/s/1o8mc4Y  windows

pan.baidu.com/s/1hs23Hr  linux

原文地址:https://www.cnblogs.com/bincoding/p/8270894.html

时间: 2024-10-16 11:49:28

Tensorflow问题汇总的相关文章

『TensorFlow』0.x_&_1.x版本框架改动汇总

基本数值运算 除法和模运算符(/,//,%)现在匹配 Python(flooring)语义.这也适用于 [tf.div] 和 [tf.mod].要获取基于强制整数截断的行为,可以使用 [tf.truncatediv] 和 [tf.truncatemod]. 现在推荐使用 [tf.divide()] 作为除法函数.[tf.div()] 将保留,但它的语义不会回应 Python 3 或 [from future] 机制 [tf.mul,tf.sub ] 和 [tf.neg] 不再使用,改为 [tf.

TensorFlow遇到的问题汇总(持续更新中......)

1.调用tf.softmax_cross_entropy_with_logits函数出错.原因是这个函数,不能按以前的方式进行调用了,只能使用命名参数的方式来调用.原来是这样的:tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y, y_))修改成这样的:tf.reduce_sum(tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_)) 2.Tensorflow 函数t

TensorFlow 常用函数汇总

本文介绍了tensorflow的常用函数,源自网上整理. TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作.并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU. 下面是一些

可能是史上最全的Tensorflow学习资源汇总

在之前的Tensorflow系列文章中,我们教大家学习了Tensorflow的安装.Tensorflow的语法.基本操作.CNN的一些原理和项目实战等.本篇文章将为大家总结Tensorflow纯干货学习资源,非常适合新手学习,建议大家收藏.想要学习更多的Tensorflow知识,欢迎点击上方蓝字,关注我们的微信公众号. 一 .Tensorflow教程资源: 1)适合初学者的Tensorflow教程和代码示例: https://github.com/aymericdamien/TensorFlow

Tensorflow一些常用基本概念与函数(四)

摘要:本系列主要对tf的一些常用概念与方法进行描述.本文主要针对tensorflow的模型训练Training与测试Testing等相关函数进行讲解.为'Tensorflow一些常用基本概念与函数'系列之四. 1.序言 本文所讲的内容主要为以下列表中相关函数.函数training()通过梯度下降法为最小化损失函数增加了相关的优化操作,在训练过程中,先实例化一个优化函数,比如 tf.train.GradientDescentOptimizer,并基于一定的学习率进行梯度优化训练: optimize

TensorFlow实现基于深度学习的图像补全

目录 ■ 简介 ■ 第一步:将图像理解为一个概率分布的样本 你是怎样补全缺失信息的呢? 但是怎样着手统计呢?这些都是图像啊. 那么我们怎样补全图像?  ■ 第二步:快速生成假图像 在未知概率分布情况下,学习生成新样本 [ML-Heavy] 生成对抗网络(Generative Adversarial Net, GAN) 的架构 使用G(z)生成伪图像 [ML-Heavy] 训练DCGAN 现有的GAN和DCGAN实现 [ML-Heavy] 在Tensorflow上构建DCGANs 在图片集上跑DC

这是一份很有诚意的2017 Google I/O大会的汇总 & 解析

前言 在刚过去的凌晨(北京时间 5月18日 1.00-3.00),一年一度的2017年Google I/O大会在美国谷歌山景城海岸线圆形剧场如期举行 Google I/O 大会:Innovation in the Open,开放中创新,是Google官方举办的开发者大会 面向 开发者,会议内容是:更新和发布Google的新产品 & 技术 对比于网上内容相互复制.堆砌的Google I/O大会内容报道,这是一份很有诚意的 2017年 Google I/O大会的汇总 & 解析 目录 1. 20

这是一份很有诚意的2017 Google I/O 大会 的汇总 & 解析

前言 在刚过去的凌晨(北京时间 5月18日 1.00-3.00),一年一度的2017年 Google I/O大会 在美国 谷歌山景城 海岸线圆形剧场 如期举行 Google I/O 大会:Innovation in the Open,开放中创新,是Google官方举办的开发者大会 面向 开发者,会议内容是:更新和发布Google的新产品 & 技术 对比于 网上内容相互复制.堆砌的Google I/O大会 内容报道,这是一份 很有诚意的 2017年 Google I/O大会 的汇总 & 解析

(转) AI突破性论文及代码实现汇总

本文转自:https://zhuanlan.zhihu.com/p/25191377 AI突破性论文及代码实现汇总 极视角 · 2 天前 What Can AI Do For You? "The business plans of the next 10,000 startups are easy to forecast: Take X and add AI." - Kevin Kelly "A hundred years ago electricity transforme