加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

GPU的使用说明

发布时间:2022-09-22 14:41:27 所属栏目:应用 来源:
导读:  查看显卡信息

  !nvidia-smi

  计算设备

  import tensorflow as tf

  tf.device('/CPU:0'), tf.device('/GPU:0'), tf.device('/GPU:1')

  查询GPU数量
  查看显卡信息
 
  !nvidia-smi
 
  计算设备
 
  import tensorflow as tf
 
  tf.device('/CPU:0'), tf.device('/GPU:0'), tf.device('/GPU:1')
 
  查询GPU数量
 
  len(tf.config.experimental.list_physical_devices('GPU'))
 
  张量与GPU
 
  我们可以查询张量所在的设备。 默认情况下,张量是在CPU上创建的。
 
  x = tf.constant([1, 2, 3])
 
  x.device
 
  存储在GPU上
 
  我们需要确保不创建超过GPU显存限制的数据。
 
  with try_gpu():
 
      X = tf.ones((2, 3))
 
  假设你至少有两个GPU应用说明,下面的代码将在第二个GPU上创建一个随机张量。
 
  with try_gpu(1):
 
      Y = tf.random.uniform((2, 3))
 
  with try_gpu(1):
 
      Z = X
 
  print(X)
 
  print(Z)
 
  现在数据在同一个GPU上(Z和Y都在),我们可以将它们相加。
 
  假设变量Z已经存在于第二个GPU上。 如果我们仍然在同一个设备作用域下调用Z2 = Z会发生什么? 它将返回Z,而不会复制并分配新内存。
 
  with try_gpu(1):
 
      Z2 = Z
 
  Z2 is Z
 
  神经网络与GPU
 
  类似地,神经网络模型可以指定设备。 下面的代码将模型参数放在GPU上。
 
  strategy = tf.distribute.MirroredStrategy()
 
  with strategy.scope():
 
      net = tf.keras.models.Sequential([
 
          tf.keras.layers.Dense(1)])
 
  当输入为GPU上的张量时,模型将在同一GPU上计算结果。
 
  net(X)
 
  让我们确认模型参数存储在同一个GPU上。
 
  net.layers[0].weights[0].device, net.layers[0].weights[1].device
 
  所有的数据和参数都在同一个设备上, 我们就可以有效地学习模型。
 
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!