以下更改涉及Anaconda中基本文件的更改,建议保存备份,当出现问题还可以还原。
1、手写数据下载问题。
UserWarning: The given NumPy array is not writeable, and PyTorch does not support non-writeable tensors. This means you can write to the underlying (supposedly non-writeable) NumPy array using the tensor. You may want to copy the array to protect its data or make it writeable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at …\torch\csrc\utils\tensor_numpy.cpp:141.)
return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s)
解决方法:以我的虚拟环境 b 为例, 按照以下路径: E:\Anaconda\envs\b\Lib\site-packages\torchvision\datasets下的 mnist.py。
打开py文件,把return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s) 中的copy=False 删除 变成 ---->return torch.from_numpy(parsed.astype(m[2])).view(*s) (倒数第三个函数)
2、画图工具问题
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
解决方法:问题出自两个 libiomp5md.dll文件重复。 如下:
E:\Anaconda \ envs \ b \ Library \ bin \ libiomp5md.dll #把这个路径下的 libiomp5md.dll 删除
E:\Anaconda \ envs \ b \ Lib \ site-packages \ torch \ lib \ libiomp5md.dll #不变