前言
keras作为一个不用写静态图,封装的特别好的架构,还是要比tensorflow简单容易用一些,搭建一些模型也是比较快速。但是keras各个版本之间,有一些不兼容的变动还是让人诟病。平常总是遇到,所以汇总一下。
环境
keras2.3.1
backend -> tensorflow1.14.0-gpu
问题汇总
(1)ModuleNotFoundError: No module named ‘keras.applications.mobilenetv2’
kera2.2的时候
keras.applications.mobilenetv2
keras2.3的时候
keras.applications.mobilenet_v2
有一些keras application的名称也是改变了,如果实在不知道变成了什么,建议可以去安装环境看一下相关函数名称。
如何查看keras安装位置?
import keras as k
k.__path__
找到了keras的安装位置,再去application里面找相关函数即可
(2)下载cifar100数据集的时候,特别慢;或者中间出现中断现象,无法运行,报错
d = cPickle.load(f, encoding=‘bytes’)
_pickle.UnpicklingError: pickle data was truncated
说明:
win10 – jupyter- notebook报错如下
解决方法:
1)首先,需要下载相关数据集,下载地址如下:
http://www.cs.toronto.edu/~kriz/cifar.html
我已上传到csdn,可以免费下载。
(我重新打包cifar-10、cifar-100成了zip格式上传,大家可以免费下载。https://download.csdn.net/download/weixin_42237113/12699751
cifar10/100数据集百度云。
链接: https://pan.baidu.com/s/1AtDjrD9_ozR3U3gquCVAsQ#list/path=%2F 提取码: 2333
)
2)下载好了之后,(删除之前未下载完全的cifar-100-python.tar.gz,重新拷贝),拷贝到特定缓存目录,解压后即可。
关键就是这个特定缓存目录
win10:
C:\Users\用户名xxx.keras\datasets
ubuntu:
~/.keras/datasets/
reference:
https://www.jianshu.com/p/b199add406d3
https://blog.csdn.net/qq_35975447/article/details/88420527
(3) OSError: pydot failed to call GraphViz.Please install GraphViz (https://www.http?/graphviz.org/) and ensure that its executables are in the $PATH.
(4)下载IMDB的数据时候,出现如上报错,或者下载速度很慢。
raise ValueError(“Object arrays cannot be loaded when “ValueError: Object arrays cannot be loaded when allow_pickle=False”
1.检查numpy版本,numpy版本太高,回退到1.16.2
pip install numpy==1.16.2
- 下载imdb.npz数据
imdb.npz:Downloading data from https://s3.amazonaws.com/text-datasets/imdb.npz
3.下载好了之后,放置到dataset目录即可
linux, win10具体目录,参见问题2
4.重新运行,功能正常