2016-05-15 19 views
0

我正在訓練神經網絡。我想以獨立於代碼的方式保存它們,以便可以使用不同的軟件加載它們。系統/約定代碼獨立序列化

只是酸洗我的對象是不好的,因爲如果它被加載到代碼已經改變或移動的環境中(它始終這樣做),它就會中斷。

所以我一直在把我的對象轉換成原始類型的字典和酸洗這些。我維護一個模塊,可以將這些字典轉換回對象(對象的類型由字典的「類」鍵定義)。我目前的解決方案感覺混亂。

所以我在想,如果有是一個的發

+1

您需要將存儲格式與運行時格式分開(某種強度降低可能一直延伸到json方言 - 如果大小很重要,或者是一些二進制格式)。然後你需要分離序列化代碼,以便得到穩定的api。 api需要進行版本控制,並且每當您創建新版本時(a)舊版本需要保留以便可以讀取舊文件,並且(b)您需要將版本x升級到版本x + 1的功能(讀取舊版本文件,寫入新文件)。 – thebjorn

回答

0

如果您正在使用numpy的/ SciPy的爲您的項目來處理這樣的「代碼無關的序列化」的一些包裝或設計模式,你可以節省你的權重矩陣中matlab format

+0

嗯,我也可以醃製它們......我的問題更多地是存儲更復雜結構(例如卷積網絡)的最佳實踐,因此它可以從文件加載,但仍然獨立於代碼。 – Peter