Theano升级到1.0后,在import theano 时总会出现如下提醒,在没升级之前之前是没有的.
>> import theano
Using cuDNN version 5110 on context None
Mapped name None to device cuda: GeForce GTX 960M (0000:01:00.0)
看到这提示感觉很不爽,所以按照上面的提示去试依旧没有解决.
首先按照给出的提示,我重新安装cudnn5.1.10,安装完成之后又出现了下面的情况:
>> import theano
Using cuDNN version 5105 on context None
Mapped name None to device cuda: GeForce GTX 960M (0000:01:00.0)
所以我觉得这和cudnn版本没有任何关系.
按照网上的一个脚本s.py,如下:
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time

vlen = 10 * 96 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

用来检测使用cpu计算还是gpu.
根目录下的.theanorc文件配置如下:
[global]
device=cuda
floatX=float32
force_device=True

[nvcc]
fastmath = True

执行s.py,结果如下:
[GpuElemwise{exp,no_inplace}(<GpuArrayType<None>(float32, vector)>), HostFromGpu(gpuarray)(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.653164 seconds
Result is [ 1.23178029  1.61879349  1.52278066 ...,  1.57353055  1.96092069
  2.0558939 ]
Used the cpu

然后我修改了.theanorc文件,如下:
[global]
device=cpu
floatX=float32
force_device=True

[nvcc]
fastmath = True

执行s.py,结果如下:
[Elemwise{exp,no_inplace}(<TensorType(float32, vector)>)]
Looping 1000 times took 13.154794 seconds
Result is [ 1.23178029  1.61879337  1.52278066 ...,  1.57353067  1.96092069
  2.0558939 ]
Used the cpu

很神奇吧,明明两次耗时差异很大,
Looping 1000 times took 0.653164 seconds
Looping 1000 times took 13.154794 seconds
为何结果输出相同,都是used cpu?
所以,我觉得这个脚本是错误的.
在解决这个问题过程中,我发现好多人都遇到了同样的问题,所以记录下来,以供大家参考,如果说错了,也请大家不吝指出.

theano 这磨人的小妖精相关推荐

  1. REM,你这磨人的小妖精!

    前言 移动端的崛起,给了我们前端更大的舞台,与此同时,也给我们带来了一系列头疼的问题,移动端适配就是其中之一,目前市面上最常用的方案即是REM适配. 为什么说她是一个磨人的小妖精?因为她确实让人又爱又 ...

  2. 磨人的小妖精 别让我遇到你

    我叫颈椎病,今年有5000多岁了,我的子孙散布在世界各地,每当我看到人类颈背痛苦.上肢无力.手指发麻.下肢乏力.行走艰难.头晕.厌恶.吐逆,乃至视物含糊.心动过速及吞咽艰难的时候我都很开心.因为任何医 ...

  3. 「磨人的小妖精」JavaWeb如何学习?先肝了这套教程

    都说一入Java深似海,从此代码是爱人,但是学习的过程却从来都不轻松. 当下,越来越多的互联网企业,招聘Java工程师时,明确要求需熟练掌握JavaWeb技术.作为衔接前后端的重要一环,JavaWeb ...

  4. 你这磨人的小妖精——选中文本并标注的实现过程

    需求背景:给现有的页面加上标注解读功标注一段文本的功能:选中一段文字,在光标结束位置旁边弹出小tips,有一个按钮表示添加解读.添加了解读后,那段文字高亮(加上下划线).此后每次页面loaded,被加 ...

  5. 聊聊「游戏」这个磨人的小妖精

    引言:此文是我的「读书会」里一份优秀作业,刘昊男同学作品.对于游戏,我记得之前看过「六原则」,不妨放在开头: 研究不熟悉的东西使之变为熟悉的东西: 将熟悉的东西作有规律的重复: 在重复的过程中尽可能作 ...

  6. 烦人的“小妖精”:浅谈小红点的设计

    导语 随着各类App的业务功能不断丰富,小红点已经成为互联网从业者们最常使用的运营工具之一,每当有新的运营内容或新功能上线,大家的做法往往是"在那放个红点就行了".然而简单粗暴的形 ...

  7. 递归这个磨机的小妖精

    神奇的递归 费了好大的劲才对递归算法有了点浅显的理解,在这与大家分享一下典型例子的代码. 九九乘法表 经典循环算法: for i in range(1,10):for j in range(1,i+1 ...

  8. 蜜糖?砒霜? 区块链真skr磨人小妖精!

    哪里有天才,我是把别人喝咖啡的工夫都用在工作上的.──鲁迅  中国软件网每日精选文集 "大家都在讨论区块链, 但我还是搞不懂它是什么, 和我又有什么关系." 今天各位"吃 ...

  9. Tensflow版本升级就是磨人的妖精——regular能用吗?

    磨人的妖精,版本带来的伤筋动骨,有发展就有版本升级,自己模块有方法变化.不同模块之间还有相互依赖变化,coding中有1/3的时间都是在解决版本升级后新特性学习问题解决,1/3是在debug,真正写核 ...

最新文章

  1. 干掉 Navicat:这个 IDEA 的兄弟真香!
  2. Java实现敏感词过滤 - IKAnalyzer中文分词工具
  3. 4.1)深度卷积网络:卷积神经网络基础
  4. 雷军穿上印度传统服装:网友以为《西游记》拍新版了 这画面感受下
  5. java程序员语录_2019精选java程序员语录大全
  6. 学习笔记1:迟滞电压比较器
  7. bzoj4816 [Sdoi2017]数字表格(反演)
  8. Java项目实战【超级详细】
  9. 如何清理Linux跟下的垃圾文件
  10. sdust 2410 Mine Number
  11. python自动定期清理日志脚本支持Linux+windows
  12. 微信登录流程图(转)
  13. VAPS XT开发入门教程00:基本介绍
  14. 《Mysql是怎样运行的》读书笔记五
  15. 腾讯安心生态联盟正式成立 联动伙伴开放技术助力“数字兴农”
  16. 浏览器常用的图片优化 雪碧图/实体字符/svg
  17. 《道德经》第二十二章
  18. 职业选择心理测试软件,职业选择的心理测试题
  19. CVPR2016跟踪算法Staple的配置(Staple: Complementary Learners for Real-Time Tracking)
  20. prosail模型敏感性分析

热门文章

  1. 重磅炸弹 诺基亚N71简体中文版全国抢先预览
  2. Android 自定义视频播放器,可用于以视频做背景的需求
  3. YOLOv5模型剪枝压缩
  4. 金蝶K3检验单导入导出的修改
  5. Android系统开发:GMS包移植
  6. 400分理科学计算机,2021高考400分左右的理科大学有哪些
  7. 有苦有乐的算法 --- 归并排序
  8. 下载谷歌play应用_选择在现有应用中使用Google Play应用签名
  9. mysql清除表数据
  10. #include<iostream.h>的前世今身