基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
作者:青松愉快 发布时间:2021-10-03 10:22:27
标签:tensorflow,GPU,分配
1. 在终端执行时设置使用哪些GPU(两种方式)
(1) 如下(export 语句执行一次就行了,以后再运行代码不用执行)
(2) 如下
2. 代码中指定(两种方式)
(1)
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
(2)
# Creates a graph.
with tf.device('/gpu:1'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print sess.run(c)
若想使用多个GPU,如下
c = []
for d in ['/gpu:0', '/gpu:1']:
with tf.device(d):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3])
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])
c.append(tf.matmul(a, b))
with tf.device('/cpu:0'):
sum = tf.add_n(c)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print sess.run(sum)
3.GPU资源分配
(1) 设置允许GPU增长
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)
(2) 设置每个GPU内存使用多少
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
session = tf.Session(config=config, ...)
来源:https://blog.csdn.net/sinat_30372583/article/details/79857628


猜你喜欢
- 一、问题目前为止,M1系统上还不能使用pip3安装pandas库,无法使用pandas进行数据分析和处理。虽然网上也有专门适配M1的pyth
- 本文实例为大家分享了python实现发送QQ邮件的具体代码,供大家参考,具体内容如下东西比较简单,简单讲一下,直接贴代码了,其他邮箱都类似。
- python中内置的max()函数用来得到最大值,通过冒泡排序也可以。#!/usr/bin/pythondef getMax(arr): &
- 本文详细讲述了python的内嵌time模块的用法。分享给大家供大家参考之用。具体分析如下: 一、简介time模块提供各种操作时
- 我们在Python中经常使用会用到matplotlib画图,有些曲线和点的形状、颜色信息长时间不用就忘了,整理一下便于查找。安装matplo
- by yemoo有时在编写网页代码时发现,img底部莫名奇妙多出大约3px的空白,无论怎么调节css都不可以,今天再次遇到此问题,网上看了一
- 本文通过实例代码介绍了如何在jscript和vbscript中使用操作FileSystemObject(fso)对象模式来编程.
- javascript中给数组加元素是一个非常简单的问题,javascript本身就提供了大量这类函数,我们可以使用js自带函数快速给数组增加
- 本文实例为大家分享了python实现二叉树的遍历具体代码,供大家参考,具体内容如下代码:# -*- coding: gb2312 -*- c
- python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threadin
- 问题描述:在pyhton脚本中logging.info("hello world")希望输出'hello wor
- 现在有这样一个需求,内网有一个数据库服务,需要将外网的数据库导入到内网数据库。将外网的数据库导出sql文件有700MB+,用MySQL自带的
- config.php<?phpdefine('APP_DIR', dirname(__FILE__));define(
- df.dropna()函数用于删除dataframe数据中的缺失数据,即 删除NaN数据.官方函数说明:DataFrame.dropna(a
- 很多时候, 我们预期查询的结果最多是1条记录数据, 那么这个时候, 最好用上limit 1, 当查到这条数据后, mysql会立
- 前几天在一本书上看到一篇可以利用字典破解zip文件密码的文章,觉得比较有意思于是研究了一番,在这里分享一下原理主要是利用python里自带的
- 前言很多朋友在使用Jetbrains系列软件的时候,可能都会有一个问题,那就是鼠标右击出现的Open Folder as PyCharm P
- 前言今天给大家带来的是Vue 3 中的极致防抖/节流(含常见方式防抖/节流)这篇文章,文章中不仅会讲述原来使用的防抖或节流方式,还会带来新的
- 我们在前面的几节中分别讲了提高网站性能中内容、服务器、JavaScript和CSS等方面的内容。除此之外,图片和Coockie也是我们网站中
- 1. 概述到目前为止,程序的API对任何人都可以编辑或删除,没有任何限制。我们希望有一些更高级的行为,进行身份验证和权限分配,以确保:数据始