다음과 같이 행렬이있는 해시를 파일에 저장했습니다.
File.open("test.json", "w+") { |file| file.write("#{hash.to_json}") }
해시는 다음 데이터를 포함합니다.
{0=>Matrix[[-0.03, 1.3],[0.1,-0.45]],1=>Matrix[[-1.9,1.8,-0.6]]}
이제 저장된 파일을 읽었습니다.
contents = File.read('test.json')
hashAgain = JSON.parse(contents) #Convert it to hash
하지만 해시의 행렬에 액세스하려면 행렬이 더 이상 행렬 데이터 형식이 아닙니다.
puts netTrained.values[0].class #=>String
내 질문은 "행렬"문자열을 다시 행렬 데이터 형식으로 변환하는 방법입니다.
첫째, 첫 번째 행렬을 잘못 정의했습니다. 행 수가 다릅니다.
Matrix[[-0.03, 1.3, -0.6],[0.1,-0.45]]
준다
ExceptionForMatrix :: ErrDimensionMismatch : 행 크기가 다릅니다 (2는 3이어야 함).
Matrix는 생성시 문자열을 허용하지 않습니다. 그러나 그것은 배열을 받아들입니다. 따라서 한 가지 해결책은 Matrix 문자열 대신 파일에 배열을 저장하는 것입니다. "0.1, -0.45"파일에 저장하면 다음과 같이 할 수 있습니다.
Matrix["0.1, -0.45".split(',')]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다