1、运行这行代码报错:IOError: Unable to open file (File signature not found)
file = h5py.File('../G.mat', 'r')
然后查找原因是利用h5py打开HDF5格式的文件,然后排除了文件位置错误及文件格式是否为HDF5文件后,其原因可能为G.mat文件受损,然后我重新放了一个G.mat的文件进行,运行成功!
2、然后进入到网络训练的模块,Jupyter Notebook一直弹出内核似乎挂掉了,它很快将自动重启。
查找了原因说有可能是内存不足,然后我清理了内存依然不行,并且运行了以下代码(其他博客有的人说成功了),但是实际上并没有用。
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
# 网上提到该设置可能有其他风险
进一步,还有可能是因为版本不匹配,检查了以下torch版本为10.2.0,但是此时可以调用CUDA,进一步我重新装了torch版本,师兄论文中torch版本为1.2.0,因此我打算在自己的虚拟环境中装对应的torch版本(之前是在大环境中跑的,偷懒,不要学我),输入了以下命令来装torch
pip install torch==1.2.0
3、但是此时遇到了另外一个问题,运行以下代码,其输出结果为:False 1.2.0,说明此时Torch和CUDA并没有连接上
import torch
print(torch.cuda.is_available())
print(torch.__version__)
进一步,又运行下面这行代码,报错:AssertionError: Torch not compiled with CUDA enabled,说明在编译torch的时候,CUDA并没有起作用。结合上面的输出可以判断,CUDA版本没有对应正确的torch版本,因此需要重新安装torch,输入pip uninstall torch将原来的torch给删除。
model = Unet()
model.cuda()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
summary(model, input_size=(1, 32, 32))
4、在服务器中配置正确的torch
这一步可以参照我的另外一篇博文,其中有详细的步骤。链接如下:
再重新装好torch后,网络终于训练好了!!
5、又想起来一个问题,安装了sklearn库,但是在调用时却报错:ModuleNotFoundError: No module named 'sklearn'
然后查找了一下原因,是因为sklearn库依赖于Numpy、Scipy、matplotlib三个库,先把这三个库安装好,再装一下scikit-learn,然后就可以运行啦!!