Autokeras学习笔记—安装篇
Autokeras是学习自动深度学习的入门级自动库,也是比较成熟的自动深度学习的python库,深受广大学习者喜爱,但是随着autokeras库的迭代升级,与kerastuner、keras、tensorflow等第三方python库及python语言的版本间的依赖关系越来越复杂,使广大初学者在安装autokeras库时频繁踩坑,费时费力,虽然安装成功,却很难成功运行,而且报错原因繁复多样,难以定位报错根因。然而,实际上报错的根本原因就是安装的各依赖库版本兼容性及与python语言本身版本间的兼容性问题,版本不兼容,而安装时又不显示版本冲突,autokeras库的requirements.txt文件中对各依赖库的版本没有做高版本限制,因而在安装时部分库安装版本过高,因而引发兼容性问题,而安装结束后又没有兼容性提示,从而造成程序运行时报其它库无相关属性错误等错误提示,而不提示兼容性错误。
要想逃过这些暗坑,首先需要了解antokeras支持的操作系统及版本。如最新的autokeras 2.0及1.1只支持非windows系统,因而在windows系统中是不能安装的。二是要了解autokeras支持的python版本,如autokeras目前最高支持python 3.11(非windows系统,windows系统最高支持python 3.10),最低版本是python 3.0以上。第三是tensorflow和keras的版本,既要tensorflow和keras支持相同的操作系统版本,也要支持相同的python版本。特别是要注意tensorflow的CPU和GPU版本的区别,如果计算机没有安装GPU,则只能安装CPU版,不能安装GPU版。版本不兼容的问题是autokeras库不能正确运行的根因。第四是了解autokeras与kerastuner的版本对应关系问题。一般安装autokeras时,会安装最新版本的kerastuner,这往往是不兼容的,运行时会报各种错误提示。要根据安装的autokeras版本安装相应版本的kerastuner:
pip install kerastuner==版本号
如何查询各库的版本号呢?第一,已安装的库可以使用pip show 库名来显示已安装的库的版本号及依赖关系。如下图所示:
第二,查询本机python版本下可以安装的库的版本,可以使用pip install 库名==0来显示本机环境下可以的库的版本号,如下图所示:
第三,可以登录https://pypi.org来查询库的版本历史信息,如autokeras · PyPI来查询autokeras版本历史信息,如下图所示:
网页中会显示版本号及发布时间,点击相应的版本号条目,网页会跳转到显示该版本的更详细的信息,如兼容的tensorflow版本,python版本等:
其他的库也可以按照此方式来查询版本号及发布时间、支持的python版本等信息。
第四,各库版本间可能无明显的版本兼容关系,则可以依照发布时间来推测相互间的对应关系,且要时间相近,一般来说,tensorflow最早,keras次之,kerastuner再次之,autokeras最晚,下图是依据pypi网站查询到的各库发布时间及最早版本的对应关系:
本机环境安装的各库版本如下:
经测试,可以正常运行。