github代码分析——Siamese神经网络

文章目录

  • 1 下载代码
  • 2 读readme.md
    • 2.1 所需环境
    • 注意事项
    • 2.2 文件下载
  • 3 预测阶段
    • 3.1 解决问题1


写在前面:在github上面学习代码是研究生必备技能,本篇博客就以学习Siamese Network(pytorch) 为例,分享如何在github上学习代码!


首先介绍一下,这个博主bubbliiiing在github上面分享了很多自己的代码,非常nice!大家也要养成学习别人的知识同时也要点赞鼓励分享的好习惯哦!!
github代码分析——Siamese神经网络_第1张图片

1 下载代码

  • 首先可以看到红色箭头的地方,有作者写的关于代码的介绍!
    github代码分析——Siamese神经网络_第2张图片

  • 然后点击code,选择download zip
    github代码分析——Siamese神经网络_第3张图片

  • 下载之后,就是一个压缩包的形式。
    github代码分析——Siamese神经网络_第4张图片

  • 然后放到一个文件包里面去,解压缩。【注意,这里的路径要注意!!后面新建pycharm项目的时候需要这个路径的】
    github代码分析——Siamese神经网络_第5张图片
    这是我的路径:E:\study_self\learn_siamese

  • 打开pycharm,选择 new project 做如设置,主要是两点:①location;②previously interpreter
    github代码分析——Siamese神经网络_第6张图片

  • 选择: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 文件下载

github代码分析——Siamese神经网络_第7张图片

百度网盘: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 预测阶段

  1. 下载完库后解压,在百度网盘下载Omniglot_vgg.h5,放入model_data,运行predict.py,依次输入
img/Angelic_01.png
img/Angelic_02.png
  • 运行结果:
    github代码分析——Siamese神经网络_第8张图片
    好的宝贝,报错了~~

3.1 解决问题1

github代码分析——Siamese神经网络_第9张图片

  • 问题定位:虽然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

github代码分析——Siamese神经网络_第10张图片

  • 输出情况如下
    github代码分析——Siamese神经网络_第11张图片

github代码分析——Siamese神经网络_第12张图片

你可能感兴趣的:(机器学习算法,神经网络,pytorch,python)