python-3.x - 在 GPU 上运行我的 Tensorflow 模型的问题
问题描述
我是张量流的新手。我有一个在 CPU 上运行的 Tensorflow 代码,但我正在尝试将其更改为在 GPU 上运行。我在tf.device('/device:GPU:0')
某处添加了该语句,但显然它不起作用,而且我没有看到日志。
如何改变它?
#...some stuff
g_in = tf.Graph()
with gfile.FastGFile(path + name + '.pb', 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
tf.import_graph_def(graph_def, name="")
g_in = tf.get_default_graph()
print(g_in)
with g_in.as_default(), tf.device('/device:GPU:0'):
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
input = sess.graph.get_tensor_by_name("cnn/input_1:0")
output = sess.graph.get_tensor_by_name("mymodel:0")
解决方案
tensorflow-gpu
如果您已安装,Tensorflow 将默认在 GPU 上运行。
with tf.device('/device:GPU:0')
如果您不想在默认情况下运行它,则用于选择要使用的 GPU。
pip freeze
应该告诉你你有哪个安装。如果它只说tensorflow
而不是tensorflow-gpu
那么你需要卸载它,安装 CUDA 并重新安装tensorflow-gpu
推荐阅读
- ubuntu - 添加 cron 作业?
- javascript - 类扩展了 Uint8Array,如何返回 Uint8Array?
- r - 使用不匹配的对删除括号之间的文本
- redis - redis中的订阅系统
- c# - 如何检查项目是否未初始化?
- javascript - 使用 JavaScript 从 JSON 获取信息并保存在 SQL Server 中
- java - Yelp android 工作室 VALIDATION_ERROR
- r - 在 for 循环中使用条件来创建唯一的面板 ID
- sas - 将宏函数作为参数传递给另一个宏函数
- rabbitmq - Spring Cloud Task 未使用 RabbitMQ 使用 Spring Cloud Stream 启动