我已經訓練了一個網絡(使用 GPU),現在我想在 CPU 上運行它(用于推理)。為此,我使用以下代碼加載元圖,然后加載網絡參數。config = tf.ConfigProto( device_count = {'GPU': 0} )sess = tf.Session(config=config)meta_graph=".../graph-0207-190023.meta"model=".../model.data-00000-of-00001"new_saver = tf.train.import_meta_graph(meta_graph)new_saver.restore(sess, model)問題是,由于已經定義了用于訓練的圖,因此我使用了一些不在 CPU 上運行的特定操作。例如,“MaxBytesInUse” https://www.tensorflow.org/api_docs/python/tf/contrib/memory_stats/MaxBytesInUse其中記錄了GPU的活動。這就是為什么當我嘗試運行此代碼時,出現以下錯誤:InvalidArgumentError: No OpKernel was registered to support Op 'MaxBytesInUse' with these attrs. Registered devices: [CPU], Registered kernels: device='GPU' [[Node: PeakMemoryTracker/MaxBytesInUse = MaxBytesInUse[_device="/device:GPU:0"]()]]是否有一種簡單的方法可以刪除特定的 GPU 相關操作并在 CPU 上運行圖形?
添加回答
舉報
0/150
提交
取消