我創建了一個 ResNet 模型并保存了它,但是當嘗試在另一個筆記本中加載后運行預測時,我收到了一堆錯誤。假設我有筆記本A和B。在筆記本A中,我創建了一個名為resnet_model的模型。我可以運行預測,一切都很好。我像這樣保存了模型resnet_model.save(os.path.join(DATAPATH,"res1_network.h5"))然后,我將模型加載到筆記本 A 中loaded_model = load_model(os.path.join(DATAPATH,"res1_network.h5"))我對它進行預測,它與以前完全相同?,F在,如果我轉到筆記本B并加載模型并嘗試像這樣預測res1_model = load_model(os.path.join(DATAPATH,"res1_network.h5"))res1_model.predict(pred_list, verbose=1)我收到一系列錯誤UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[node model_2/conv2d/Conv2D (defined at C:\Users\Dave\Miniconda3\envs\tensorflow\lib\site-packages\tensorflow_core\python\framework\ops.py:1751) ]] [Op:__inference_distributed_function_23018]Function call stack:distributed_functioncuDNN怎么可能在這個筆記本中不能正常工作,但在另一個筆記本中很好。如果它不起作用,我怎么能構建模型呢?
1 回答

慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
默認情況下,TensorFlow映射了所有GPU(源)的幾乎所有GPU內存,因此可能與此相關。
您可以嘗試重置筆記本 A 的內核以在運行筆記本 B 之前釋放該內存。
或者,您可以設置該選項以僅在需要時分配更多 GPU 內存:allow_growth
tf_config=tf.ConfigProto()
tf_config.gpu_options.allow_growth=True
sess = tf.Session(config=tf_config)
K.set_session(sess)
當然,這取決于您同時運行的會話數量,總GPU內存,模型大小等。
要檢查當前正在使用的內存量,可以使用 。我不是Windows用戶,但也許這個答案可以幫助你(我如何在Windows上運行nvidia-smi?)。nvidia-smi
添加回答
舉報
0/150
提交
取消