Tensorflow实战之常见问题
1.module ‘keras.preprocessing.image’ has no attribute ‘load_img’
引入 from keras.preprocessing.image import load_img 出现错误。
【解决方案】
tf.keras.utils.load_img instead of image.load_img.
1.HOW TO FIX IT? AttributeError: module ‘keras.preprocessing.image’ has no attribute ‘load_img’
2.Import “tensorflow.keras.preprocessing.image” could not be resolved
在vscode中使用import倒入,结果出现警告
【解决方案】
1 | from tensorflow import keras |
1.Google Colab error: Import “tensorflow.keras.models” could not be resolved(reportMissingImports)
3.Call to CreateProcess failed. Error code: 2, command: ‘“ptxas.exe” “–version”‘
在执行预测的时候,出现了这个问题。我尝试: conda install -c conda-forge cudatoolkit-dev,结果无效。
【解决方案】
解决方案就是安装 cuda-nvcc 模块。
1 | conda install -c nvidia cuda-nvcc |
1.Call to CreateProcess failed. Error code: 2 (TensorFlow) You can make sure ptxas is in your conda environment by running conda install -c nvidia cuda-nvcc It worked for me.
2.Call to CreateProcess failed. Error code: 2 报错解决 将环境更改为CUDA10.1+CUDNN7.6.5+anaconda3+tensorflow-gpu2.3.0后不再报错。(CUDA向下是兼容的)
3.tensorflow 2.6 does not detect ptxas.exe
4.Environment Variables 这里通过配置环境变量的形式
4.Could not load library cudnn_cnn_train64_8.dll.
我在执行训练的时候,出现了这个错误。Error code 1455 Please make sure cudnn_cnn_train64_8.dll is in your library path! 经过调查,我发现我的环境变量里面可以找到这个 cudnn_cnn_train64_8.dll,因为我配置了 C:\Soft\anaconda3\pkgs\cudnn-8.2.1-cuda11.3_0\Library\bin 这个路径,不知道为什么还是不行。
这个问题发生在我将 model 作为一个变量进行导出的时候出现了,要是我把模型和训练的代码放到一起,结果就不会出现问题。
1 | # 创建模型 |
1.解决tensorflow下Could not load library cudnn_ops_infer64_8.dll. Error code 126的问题 基本思路就是从cudnn的bin找到报错信息中缺少的几个dll复制粘贴到CUDA对应的bin目录下
5.Physical devices cannot be modified after being initialized
这个问题出现的是,我的gpus设置,和模型的编译文件是分开的,也就是分成了两个文件。model.compile 在model.py的文件,但是设置gpu的代码放到 training.py 文件中。
1 | import tensorflow as tf |
【解决方案】
调整设置gpus的时机,将其放入到导入数据和模型加载之前进行。
1 | import tensorflow as tf |
1.train issue RuntimeError: Physical devices cannot be modified after being initialized
2.Tensorflow2.0卷积时报错? 你必须要在import库的代码后面加上那几句话,别的地方加不行,这样就可以解决问题了
6.Memory allocation failure
这个问题出现的原因是我没有使用GPU进行训练,也就是我把设置GPU的代码注释掉了,所以会有这个问题,暂时不知道为什么我的CPU没有分配好这个东西,
7.Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
在CentOS系统上运行别人写的程序的时候,出现了下面的警告。虽然没毛病,但还是觉得好奇,于是就查了相关资料。
8.OOM
我在 windows 执行模型训练的时候,直接VScode就崩溃了。但是当我把全部代码写到一个 py 文件里面的时候,不会出现这个问题。
【尝试方案】
(1)这个问题很难办,我关机之后,重新运行训练,结果还真是可以进行训练了。
(2)还有就是我在训练的时候,用了远程桌面的形式进行的,或者说我不用远程桌面就可以进行训练了?
后来我排除了是因为远程问题导致的,那么只剩下一个原因了,那就是没有重启机器,这个也是让我非常的疑惑的地方。
9.Dst tensor is not initialized
这个问题就是在我训练完成模型之后,关闭 plt 输出的图像之后出现问题。
根据参考文章来说,可能是某些变量需要被清空,或者就是GPU被占满了。最好的办法就是 “The simple solution for me is by reducing the batch size.”
10.Unable to allocate 392. MiB for an array with shape (25088, 4096) and data type float32
这个问题和上面的问题一样,也是这个样子。