训练部分代码如下:
model training 模型训练
autoencoder.fit(x=x_train, y=x_train, batch_size=32, epochs=100,verbose = 1, validation_split=0.1)
model save 模型保存
save encoder
modelsave1 = './Modelsave/encoder.h5'
encoder.save(modelsave1)
save decoder
modelsave2 = './Modelsave/decoder.h5'
decoder.save(modelsave2)
model test 模型测试
y_test = autoencoder.predict(x_test, batch_size=32)
print('The NMSE is ' + np.str(NMSE(x_test, y_test)))
环境是 3060本 双显卡 python3.7 windows环境下 tensorflow-gou==2.0 numpy==1.18.1(说明里指定) h5py==2.10.0(说明里指定) Sklearn==0.23.2(说明里指定) cuda==10.0 cudnn与cuda对应
数据选用的是mat文件,之前是32w×1024的,电脑跑不动,我用matlab2020a打开并改小了,改成了1024×1024的了,文件名与格式与修改之前一模一样,名称:“Hdata” 文件类型:“MATLAB Data (.mat)”
然后运行就报错
File "h5py_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py\h5f.pyx", line 88, in h5py.h5f.open
OSError: Unable to open file (file signature not found)
去网上搜过好多种改正方法 都试过了 不奏效
试过 将h5py版本改成最新的 也改成过2.8.0(说明上写的是用2.10.0)没有用
还有说 要重新训练的 我这个就是一开始的训练 已经报错了 不能重新训练
然后 Modelsave里面一开始就有一个 decoder.h5文件和一个 encoder.h5文件,我也试过将它们都删了,结果与删之前报错一致
网上说还一种方法 调用scipy库我也使用了 打了一行这个代码
import scipy.io
matr = scipy.io.loadmat(matFile)
print(matr.keys())
结果还是没用
恳请帮忙解答一下 刚开始入门深度学习 跑的是导师给的代码