一、写在前面

参考:https://www.cnblogs.com/bentuwuying/p/8186364.html

简介:全连接孪生网络(siamese network)是一种相似性度量方法,适用于类别数目多但是每类的样本数少的分类问题。

代码:https://github.com/Shicoder/DeepLearning_Demo/tree/master/siamese_tf_mnist

二、测试代码

按照github代码运行python run.py后报错:

【报错1】

AttributeError: module ‘tensorflow‘ has no attribute ‘sub‘

AttributeError: module ‘tensorflow‘ has no attribute ‘mul‘

【解决1】

将代码inference.py中的tf.sub替换为tf.subtract,tf.mul替换为tf.multiply

----------------------------------------------------------------------------------------------------------------

【报错2】

NotFoundError (see above for traceback): Failed to create a directory: ; No such file or directory

[[Node: save/SaveV2 = SaveV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/SaveV2/tensor_names, save/SaveV2/shape_and_slices, siamese/fc1W, siamese/fc1b, siamese/fc2W, siamese/fc2b, siamese/fc3W, siamese/fc3b)]]

【解决2】

将代码run.py中的saver.save(sess, 'model.ckpt')以及saver.restore(sess, 'model.ckpt')改为saver.save(sess, './model.ckpt')以及saver.restore(sess, './model.ckpt')

----------------------------------------------------------------------------------------------------------------

【报错3】

name 'raw_input' is not defined

【解决3】

将代码中的raw_input改为input即可。

----------------------------------------------------------------------------------------------------------------

【报错4】

读取model.ckpt失败

【解决4】

将代码中的os.path.isfile(model_ckpt)改为判断当前路径下是否存在checkpoint这个文件os.path.exists('E:\pyProject\DeepLearning_Demo-master\siamese_tf_mnist\checkpoint'):

----------------------------------------------------------------------------------------------------------------

【报错5】

读取embed.txt数据错误

【解决5】

embed.tofile("embed.txt")#保存为二进制文件,且不能保存当前数据的行列信息

用np.fromfile读取数据需要手动指定dtype,如果指定的格式与保存时的不一致,则读出来的就是错误的数据。

print(embed.shape)

print(embed.dtype)

embed=np.fromfile('embed.txt',dtype=np.float32) #读取数据

注意到读出来的数据是一维数组,需要利用np.reshape方法重新指定维数

三、部分代码解读

from __future__ import absolute_import #使用py3的绝对引入
from __future__ import division #使用py3的精确除法
from __future__ import print_function #使用py3的print()功能函数

__future__模块,把下一个新版本的特性导入到当前版本,从而能够在当前旧版本中测试一些新版本的特性。

四、实验结果

DL实战(1):tensorflow在mnist上实现siamese net相关推荐

  1. 使用Tensorflow操作MNIST数据

    MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例.而TensorFlow的封装让使用MNIST数据集变得更加方便.MNIST数据集是NIST数据集的 ...

  2. DL框架之Tensorflow:深度学习框架Tensorflow的简介、安装、使用方法之详细攻略

    DL框架之Tensorflow:深度学习框架Tensorflow的简介.安装.使用方法之详细攻略 目录 Tensorflow的简介 1.描述 2.TensorFlow的六大特征 3.了解Tensorf ...

  3. 基于tensorflow的MNIST手写字识别

    一.卷积神经网络模型知识要点卷积卷积 1.卷积 2.池化 3.全连接 4.梯度下降法 5.softmax 本次就是用最简单的方法给大家讲解这些概念,因为具体的各种论文网上都有,连推导都有,所以本文主要 ...

  4. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  5. DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略

    DL框架之TensorFlow:TensorFlow Core(低级别TensorFlow API)的简介.安装.使用方法之详细DL框架之TensorFlow:深度学习框架TensorFlow Cor ...

  6. tensorflow saver_机器学习入门(6):Tensorflow项目Mnist手写数字识别-分析详解

    本文主要内容:Ubuntu下基于Tensorflow的Mnist手写数字识别的实现 训练数据和测试数据资料:http://yann.lecun.com/exdb/mnist/ 前面环境都搭建好了,直接 ...

  7. TensorFlow 深入MNIST

    原文地址:http://www.tensorfly.cn/tfdoc/tutorials/mnist_pros.html Table of Contents 安装 加载MNIST数据 运行Tensor ...

  8. 深入浅出TensorFlow(二):TensorFlow解决MNIST问题入门

    2017年2月16日,Google正式对外发布Google TensorFlow 1.0版本,并保证本次的发布版本API接口完全满足生产环境稳定性要求.这是TensorFlow的一个重要里程碑,标志着 ...

  9. CNN卷积神经网络—LeNet原理以及tensorflow实现mnist手写体训练

    CNN卷积神经网络-LeNet原理以及tensorflow实现minst手写体训练 1. LeNet原理 2.tensorflow实现Mnist手写体识别 1.安装tensorflow 2.代码实现手 ...

  10. TensorFlow解决MNIST数字识别问题

    TensorFlow解决MNIST数字识别问题 废话 这个MNIST数字识别问题是我实现的第一个神经网络,虽然过程基本上都是对着书上的代码敲,但还是对神经网络的训练过程有了一定的了解,同时也复习了前面 ...

最新文章

  1. Vue 生命周期记录_学习笔记
  2. IT人 不要一辈子靠技术生存(转)
  3. sim卡移动端漏洞解析
  4. java程序设计第一次作业
  5. SQL SERVER 2008如何卸载干净
  6. python中的方法和函数的区别_python中函数与方法的区别?
  7. 科研人必备的学术导航,不看后悔!
  8. oracle shell 登录,linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面...
  9. c语言 fgets函数 去除换行符_C语言文件的打开和关闭
  10. Cloudera发布全球企业数据成熟度报告,混合云趋势中有效数据战略是关键
  11. linux snap文件夹,SNAP 文件扩展名: 它是什么以及如何打开它?
  12. 一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)
  13. Sharepoint 自定义搜索
  14. java runnable接口 sleep_java Runnable接口如何创建线程
  15. 【leetcode】数组建树
  16. VTD-传感器使用小结
  17. SharePoint 2019 图文安装教程
  18. PCB的作用及其包含的信息
  19. 思必驰发布DUI平台,重磅嘉宾圆桌论道语音交互的现状及未来
  20. 小程序 制作自定义弹层 添加弹层显示和隐藏动画 父组件与子组件(自定义组件)之间传值

热门文章

  1. Android 虚拟机快捷键
  2. [Android]应用语言切换的三种方法
  3. 利用新浪api获取ip归属地
  4. 使用框架建立富联网应用
  5. Mybatis Configuration.xml中properties属性定义
  6. mysql connectors层_mysql底层工作原理
  7. php try catch 作用域,浅谈PHP中try{}catch{}的使用方法
  8. css盒子模型实验报告总结_前端知识点总结——盒子模型
  9. 重新分区_全面解析win10系统硬盘分区怎么调整大小
  10. android person类_骚操作:不重启 JVM,如何替换掉已经加载的类?