【问题标题】:Is there anyway to run Tensorflow code on GPU?反正有在 GPU 上运行 TensorFlow 代码吗?
【发布时间】:2020-06-09 05:28:27
【问题描述】:

这是我的代码,我想将 GPU 用于我的代码。目前它在 CPU 上运行。

    elf.graph = tf.Graph()
    with self.graph.as_default():
        self.face_graph = tf.GraphDef()
        fid=tf.gfile.GFile(self.facenet_model, 'rb')
        serialized_graph = fid.read()
        self.face_graph.ParseFromString(serialized_graph)
        tf.import_graph_def(self.face_graph, name='')
        self.facenet_sess = tf.Session(graph=self.graph)
        self.images_placeholder = self.graph.get_tensor_by_name("input:0")
        self.embeddings = self.graph.get_tensor_by_name("embeddings:0")

【问题讨论】:

    标签: python tensorflow gpu


    【解决方案1】:

    在 tensorflow 的网站上有相当完整的指南:https://www.tensorflow.org/guide/gpu

    确认 tf 可以看到你的 gpu:

    import tensorflow as tf
    print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
    

    查看您的 GPU 名称:

    from tensorflow.python.client import device_lib
    device_lib.list_local_devices()
    

    做一些手动放置:

    tf.debugging.set_log_device_placement(True)
    
    gpus = tf.config.experimental.list_logical_devices('GPU')
    if gpus:
      # Replicate your computation on multiple GPUs
      c = []
      for gpu in gpus:
        with tf.device(gpu.name):
          a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
          b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
          c.append(tf.matmul(a, b))
    
      with tf.device('/CPU:0'):
        matmul_sum = tf.add_n(c)
    
      print(matmul_sum)
    

    【讨论】:

      【解决方案2】:

      把它包起来

      with tf.device('/GPU:0'):
          ....
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-12-03
        • 2011-05-06
        • 2018-12-16
        • 2018-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多