close

最近終於順利畢業了,但突然有點懷疑自己的論文究竟建立在什麼樣的東西上

感覺一回頭突然覺得自己被掏空沒啥會的東西

於是翻書重新徒手搭神經網路

發現自己連怎麼保存python物件都有問題

真的蠻可憐的

我這兩年的時間都在做什麼

於是找了點資料開始動手做

總而言之假設各位看官搭起了一個神經網路,建立了損失函數與梯度更新,但是進行完學習之後不會保存這個學習好的物件

造成每次運行的時候都必須重新跑一次學習才能使用,而且每次成效都不同

所以你需要一個保存權重,或是說保存整個類神經網路物件的方法

這時候會用到的library叫做pickle,題外話是json似乎也可以?

接著你需要再你的類神經網路中新增save,load兩種方法

將你需要保存的物件中的參數以這樣的方法保存

程式碼:

def save(self, filename=None):
	fh = None
	data = (self.params)
	fh = open(self.filename, 'wb')
	pickle.dump(data, fh)
	if fh is not None:
		fh.close()

將你需要恢復的物件中的參數以這樣的方法恢復

程式碼:

def save(self, filename=None):
	fh = None
	data = (self.params)
	fh = open(self.filename, 'wb')
	pickle.dump(data, fh)
	if fh is not None:
		fh.close()

arrow
arrow

    低階ㄇㄋ 發表在 痞客邦 留言(0) 人氣()