我創(chuàng)建了一個(gè) ResNet 模型并保存了它,但是當(dāng)嘗試在另一個(gè)筆記本中加載后運(yùn)行預(yù)測(cè)時(shí),我收到了一堆錯(cuò)誤。假設(shè)我有筆記本A和B。在筆記本A中,我創(chuàng)建了一個(gè)名為resnet_model的模型。我可以運(yùn)行預(yù)測(cè),一切都很好。我像這樣保存了模型resnet_model.save(os.path.join(DATAPATH,"res1_network.h5"))然后,我將模型加載到筆記本 A 中l(wèi)oaded_model = load_model(os.path.join(DATAPATH,"res1_network.h5"))我對(duì)它進(jìn)行預(yù)測(cè),它與以前完全相同?,F(xiàn)在,如果我轉(zhuǎn)到筆記本B并加載模型并嘗試像這樣預(yù)測(cè)res1_model = load_model(os.path.join(DATAPATH,"res1_network.h5"))res1_model.predict(pred_list, verbose=1)我收到一系列錯(cuò)誤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怎么可能在這個(gè)筆記本中不能正常工作,但在另一個(gè)筆記本中很好。如果它不起作用,我怎么能構(gòu)建模型呢?
1 回答

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