当训练样本比较少,可以使用预先训练好的模型,也可以将预训练好的模型用来初始化。本文介绍如何使用Tensorflow进行迁移学习。
预处理
1 | import glob |
1 | # 输入数据目录,共有5个子目录,分别对应5种类别的花 |
1 | tf.reset_default_graph() |
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-3-89177c393fa3> in <module>()
4 processed_data = create_image_list(
5 sess, TEST_PERCENTAGE, VALIDATION_PERCENTAGE)
----> 6 np.save(OUTPUT_DATA, processed_data)
~/anaconda3/envs/fwi_ai/lib/python3.5/site-packages/numpy/lib/npyio.py in save(file, arr, allow_pickle, fix_imports)
488 if not file.endswith('.npy'):
489 file = file + '.npy'
--> 490 fid = open(file, "wb")
491 own_fid = True
492 elif is_pathlib_path(file):
FileNotFoundError: [Errno 2] No such file or directory: '/home/seisinv/data/flower_photos_process.npy'
迁移学习
1 | # 加载Tensorflow-Slim定义好的inception_v3模型 |
1 | def main(): |
1 | print("a""b") |
ab
1 | tf.reset_default_graph() |
更多谷歌训练好的模型可以参考这里
参考资料
- 郑泽宇、梁博文和顾思宇,Tensorflow: 实战Google深度学习框架(第二版)