我使用「saver = tf.train.Saver()」來保存我訓練的模型,我也得到3種命名.ckpt.meta文件,.ckpt.index和.ckpt.data,和另一個文件 「檢查點」。但我不知道與.ckpt文件有什麼關係。我看到有人用.ckpt文件保存模型,我不知道如何製作。還有一個問題,我如何使用.pb文件保存模型?Tensorflow:.ckpt文件和.ckpt.meta和.ckpt.index和.pb文件之間的關係是什麼
4
A
回答
6
的.ckpt文件是
saver.save(sess)
舊版本的輸出,這是相當於你.ckpt-data
(見下文)的「檢查點」文件只是在這裏告訴一些TF功能,這是最新的檢查點文件。
.ckpt-meta
包含元圖,即您的計算圖的結構,沒有變量的值(基本上可以在張量板/圖中看到的)。.ckpt-data
包含所有變量的值,沒有結構。要恢復Python中的模型,你通常會使用與元和數據文件(但你也可以使用.pb
文件):saver = tf.train.import_meta_graph(path_to_ckpt_meta) saver.restore(sess, path_to_ckpt_data)
我不知道確切的
.ckpt-index
,我想這是一些在內部需要一種索引來正確映射前兩個文件。無論如何,這通常不是必需的,您可以僅使用.ckpt-meta
和.ckpt-data
恢復模型。.pb
文件可以保存你的整個圖形(元+數據)。要在C++中加載和使用(但不是訓練)圖形,通常會使用它,使用freeze_graph
創建,它將從元數據和數據創建.pb
文件。小心,(至少在以前的TF版本和某些人)freeze_graph
提供的py函數無法正常工作,所以你必須使用腳本版本。 Tensorflow還提供了一個tf.train.Saver.to_proto()
方法,但我不知道它究竟做了什麼。
這裏有很多關於如何保存和恢復圖形的問題。例如,請參閱答案here,但請注意,這兩個引用的教程儘管非常有幫助,但並不完美,許多人似乎仍然很難用C++導入模型。
編輯: 它看起來像you can also use the .ckpt files in c++ now,,所以我想你不一定需要.pb文件了。
0
相關問題
- 1. 轉換.pb文件來.ckpt(tensorflow)
- 2. Eclipse .classpath文件和build.xml文件之間的關係是什麼?
- 3. java中的包和jar文件之間的關係是什麼?
- 4. .h和.m文件之間的關係是什麼?
- 5. 如何將.ckpt文件轉換爲.pb
- 6. 「app.config」和「user.config」文件之間的關係?
- 7. C++和Ruby之間的關係和依賴關係是什麼?
- 8. * .hlsl文件做了什麼,該文件和* .fx文件之間的關係是什麼?
- 9. 軟件包標識符和配置文件之間的關係是什麼?
- 10. LIS,OBJ和EXE文件之間有什麼關係?
- 11. 文件系統塊大小和每個文件浪費的磁盤空間之間的關係是什麼
- 12. 什麼是貓文件和貓之間的差異<文件
- 13. MS-Outlook PST文件和MS-Outlook MSG文件之間有什麼關係?
- 14. React組件和ReactElement之間的關係是什麼?
- 15. SonarQube插件和SonarQube規則之間的關係是什麼?
- 16. SpriteKit模板中的GameScene.swift和GameScene.sks文件之間的關係是什麼
- 17. 頁面文件中物理頁面和頁面之間的關係是什麼?
- 18. uniform sampler2D和GL_TEXTURE [NUM]和glGenTexture之間的關係是什麼?
- 19. MIDP和JME(和Android)之間的關係是什麼?
- 20. SIGTSTP和SIGCHLD之間有什麼關係
- 21. PyTorch和Torch之間有什麼關係?
- 22. IRimTable和PersistenceStore之間有什麼關係?
- 23. foreach和IEnumerable之間有什麼關係?
- 24. STL和stdlib之間有什麼關係
- 25. tsconfig.json和gulp.js之間有什麼關係?
- 26. '@ 1'和'@ 2'之間有什麼關係
- 27. SelectListItem和SelectList之間有什麼關係
- 28. document.write()和AJAX之間有什麼關係?
- 29. seneca和redis之間有什麼關係
- 30. streamjs和linqjs之間有什麼關係
非常感謝。現在,如果我想加載.ckpt-meta和.ckpt-data文件來識別圖片的類,您是否知道如何實現這一點?或者你對此有所瞭解? –
你可以看看這裏的問題和答案:https://stackoverflow.com/a/43909969/7456923 這個想法是使用'saver = tf.train。import_meta_graph(path_to_ckpt_meta) saver.restore(sess,path_to_ckpt_data)''然後使用集合或變量名稱取回重要輸入和輸出張量的句柄,然後運行推理,就像沒有保存和加載一樣sthg像'sess.run([prediction_class],feed_dict = {x_input:data})' – gdelab
好的,我會試試看。非常感謝你。 –