PyBrain에서 훈련 된 신경망을 저장하고 복구 할 수있는 방법이있어서 스크립트를 실행할 때마다 재교육 할 필요가 없습니다.PyBrain 교육을 저장하고 복구하는 방법은 무엇입니까?
31
A
답변
43
PyBrain의 신경 회로망은 python의 내장 pickle/cPickle 모듈을 사용하거나 PyBrain의 XML NetworkWriter를 사용하여 저장하고로드 할 수 있습니다.
# Using pickle
from pybrain.tools.shortcuts import buildNetwork
import pickle
net = buildNetwork(2,4,1)
fileObject = open('filename', 'w')
pickle.dump(net, fileObject)
fileObject.close()
fileObject = open('filename','r')
net = pickle.load(fileObject)
참고 cPickle은 C로 구현되므로 pickle보다 훨씬 빠릅니다. 사용법은 대부분 pickle과 같아야하므로 대신 cPickle을 가져 와서 사용하십시오.
# Using NetworkWriter
from pybrain.tools.shortcuts import buildNetwork
from pybrain.tools.customxml.networkwriter import NetworkWriter
from pybrain.tools.customxml.networkreader import NetworkReader
net = buildNetwork(2,4,1)
NetworkWriter.writeToFile(net, 'filename.xml')
net = NetworkReader.readFrom('filename.xml')
11
NetworkWriter
및 NetworkReader
작업 위대한. pickle
을 통해 저장하고로드 할 때 트레이닝 기능을 통해 네트워크를 더 이상 변경할 수 없다는 것을 알았습니다. 따라서 NetworkWriter
-method를 사용하는 것이 좋습니다.
+3
HTTP를 참조하십시오 : // 유래 .com/a/4336001/868679 솔루션 –
2
이동 방법은 NetworkWriter입니다. Pickle을 사용하면 Jorg가 말한 것처럼 네트워크를 재 훈련 할 수 없습니다.
당신은이 같은 필요 : 검토에서
from pybrain.tools.shortcuts import buildNetwork
from pybrain.tools.customxml import NetworkWriter
from pybrain.tools.customxml import NetworkReader
net = buildNetwork(4,6,1)
NetworkWriter.writeToFile(net, 'filename.xml')
net = NetworkReader.readFrom('filename.xml')
을 :하여 XML 패키지 년 9 월 2010 년 개명되었다 : https://github.com/pybrain/pybrain/commit/fc8e7a8807963e93d8331f7ffbe2745eaff3ae92 – SiHa