tensorflow如何指定gpu运行还是cpu运行

tf里面有个函数tf.device()主要用来指定运行设备的。
在TensorFlow中,如果你安装的TensorFlow版本是GPU版本的,并且你的电脑配置符合gpu运行的条件,那么系统就默认使用gpu进行训练,不用单独去指明用GPU。

但是有时候我们在配置的GPU环境下想要去利用cpu去处理某个模块的运算,又该如何去做呢?

这个时候就可以用到tf.device()来对运行设备进行指定,例如:

如果需要切换成CPU运算,可以调用tf.device(device_name)函数,其中device_name格式如/cpu:0其中的0表示设备号,TF不区分CPU的设备号,设置为0即可。GPU区分设备号/gpu:0和/gpu:1表示两张不同的显卡。

在一些情况下,我们即使是在GPU下跑模型,也会将部分Tensor储存在内存里,因为这个Tensor可能太大了,显存不够放,相比于显存,内存一般大多了,于是这个时候就常常人为指定为CPU设备。这种形式我们在一些代码中能见到。如:

 with tf.device('/cpu:0'):
      tf.app.run()

这句话就是实现我在运行下面函数的时候使用的cpu去运算。tf.app.run() 是函数入口,类似于c++中的main()

run() 函数的运作计制是:先加载flags的参数项,然后执行main() 函数,其中参数使用tf.app.flags.FLAGS定义。

import tensorflow as tf

# 定义参数
#  第一个是参数名称,   第二个参数是默认值,   第三个是参数描述
tf.app.flags.DEFINE_string('string', 'myname', 'The type of  myname is string')
tf.app.flags.DEFINE_integer('image_size', 32, 'The size of image')

FLAGS = tf.app.flags.FlAGS

# 定义主函数
# 需要传递参数
def main(argv):
	print('string: ', FLAGS.string)
	print('image_size: ' , FLAGS.image_size)


if __name__ = '__main__':
	tf.app.run()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值