###以下均基于Anaconda3 for Python 3.6.5,安装文件为Anaconda3-5.2.0-Linux-x86_64.sh
##keras依赖包及安装顺序
Keras-Applications-1.0.7
Keras-Preprocessing-1.0.9
keras 2.2.4
keras_resnet-0.2.0
Collecting keras_applications>=1.0.6 (from Keras==2.2.4)
Collecting keras_preprocessing>=1.0.5 (from Keras==2.2.4)
若出现import keras之后报错,ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
则卸载scipy,再重新安装whl版的scipy即可完美解决相应问题
参考资料:https://www.e-learn.cn/content/qita/790327
##其他依赖
lmdb-0.94
psutil-5.6.2
python-utils 2.3.0
progressbar-2.5
progressbar2-3.39.3
Collecting python-utils>=2.3.0 (from progressbar2==3.39.3) ###需要安装python_utils-2.3.0-py2.py3-none-any.whl,若是tar.gz格式的则会报错
##导入cv2,需要安装opencv-python;在安装时报错,对应的解决方案如下:
安装版本为opencv-python-4.0.0.21
yum whatprovides libSM.so.6
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false
sudo apt-get install -y python-qt4
参考资料:https://www.cnblogs.com/richerdyoung/p/8458910.html
https://blog.youkuaiyun.com/weixin_43249191/article/details/84105864
##所有环节配置好之后,分别使用单卡和多卡测试运行时间
##keras单GPU使用
目前只需1张卡的9个G左右的显存即可;如果强行使用多卡,则调用另外一张卡时,也会耗费时间,反而比单卡多用几秒钟
单卡123.5秒
两张卡127.1秒
##keras多GPU使用
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1"
##keras等深度学习框架中的"sample", "batch", "epoch" 以及"iteration"的区别
参考链接:https://www.jianshu.com/p/b476d9620437
https://blog.youkuaiyun.com/qq_18668137/article/details/80883350
https://keras.io/zh/getting-started/faq/#sample-batch-epoch
time.time()与time.clock()的区别
以后统一使用time.time()即可
参考资料:https://blog.youkuaiyun.com/wonengguwozai/article/details/80680699
https://blog.youkuaiyun.com/ithongchou/article/details/85036924
##注:keras的分布式是利用TensorFlow实现的,要想完成分布式的训练,你需要将Keras注册在连接一个集群的TensorFlow会话上,具体操作如下所示:
import tensorflow as tf
import keras.backend.tensorflow_backend as KTF
def get_session():
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
return session
KTF.set_session(get_session())