写在前面:在github上面学习代码是研究生必备技能,本篇博客就以学习Siamese Network(pytorch) 为例,分享如何在github上学习代码!
首先介绍一下,这个博主bubbliiiing在github上面分享了很多自己的代码,非常nice!大家也要养成学习别人的知识同时也要点赞鼓励分享的好习惯哦!!
1 下载代码
-
首先可以看到红色箭头的地方,有作者写的关于代码的介绍!
-
然后点击
code
,选择download zip
-
下载之后,就是一个压缩包的形式。
-
然后放到一个文件包里面去,解压缩。【注意,这里的路径要注意!!后面新建pycharm项目的时候需要这个路径的】
这是我的路径:E:\study_self\learn_siamese
-
打开pycharm,选择 new project 做如设置,主要是两点:①location;②previously interpreter
-
选择:create from existing sources
2 读readme.md
2.1 所需环境
scipy==1.2.1
numpy==1.17.0
Keras==2.1.5
matplotlib==3.1.2
opencv_python==4.1.2.30
tensorflow_gpu==1.13.2
tqdm==4.60.0
Pillow==8.2.0
h5py==2.10.0
注意事项
训练Omniglot数据集 和 训练自己的数据集可以采用两种不同的格式,但是需要注意格式的摆放哦!
2.2 文件下载
百度网盘:https://pan.baidu.com/s/1FO0t-jHy9oyhnXNLz_LldQ 提取码:17zy
- 权重设置:
(1)Omniglot_vgg.h5
:是Omniglot训练好的权重,可直接使用进行下面的预测步骤。
(2vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5
:是vgg的权重,可以用于训练其它的数据集。
3 预测阶段
- 下载完库后解压,在百度网盘下载
Omniglot_vgg.h5
,放入model_data,运行predict.py,依次输入
img/Angelic_01.png
img/Angelic_02.png
- 运行结果:
好的宝贝,报错了~~
3.1 解决问题1
- 问题定位:虽然run的是
predict.py
文件,但是这里是在调用了model = Siamese()
出错的,点击蓝色连接可以定位到Siamese.py
文件里面,然后百度一下出错的原因: module 'keras.backend' has no attribute 'get_session
原因是:tensorflow和keras的版本太高
确实了,我没有按照2.1所需环境那里重新安装一个新的虚拟环境,我用的是我之前的环境。
- 解决办法:
先定位到这一行
from keras import backend as K
然后替换为这一行
from tensorflow.compat.v1.keras import backend as K
-
该安装backend的安装就好了~~
-
好的宝贝,然后我们就继续回到
predict.py
文件,然后点击run,输入下面两行代码:
img/Angelic_01.png
img/Angelic_02.png
- 输出情况如下