DL实战(1):tensorflow在mnist上实现siamese net
一、写在前面
参考: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相关推荐
- 使用Tensorflow操作MNIST数据
MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会被用作深度学习的入门样例.而TensorFlow的封装让使用MNIST数据集变得更加方便.MNIST数据集是NIST数据集的 ...
- DL框架之Tensorflow:深度学习框架Tensorflow的简介、安装、使用方法之详细攻略
DL框架之Tensorflow:深度学习框架Tensorflow的简介.安装.使用方法之详细攻略 目录 Tensorflow的简介 1.描述 2.TensorFlow的六大特征 3.了解Tensorf ...
- 基于tensorflow的MNIST手写字识别
一.卷积神经网络模型知识要点卷积卷积 1.卷积 2.池化 3.全连接 4.梯度下降法 5.softmax 本次就是用最简单的方法给大家讲解这些概念,因为具体的各种论文网上都有,连推导都有,所以本文主要 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略
DL框架之TensorFlow:TensorFlow Core(低级别TensorFlow API)的简介.安装.使用方法之详细DL框架之TensorFlow:深度学习框架TensorFlow Cor ...
- tensorflow saver_机器学习入门(6):Tensorflow项目Mnist手写数字识别-分析详解
本文主要内容:Ubuntu下基于Tensorflow的Mnist手写数字识别的实现 训练数据和测试数据资料:http://yann.lecun.com/exdb/mnist/ 前面环境都搭建好了,直接 ...
- TensorFlow 深入MNIST
原文地址:http://www.tensorfly.cn/tfdoc/tutorials/mnist_pros.html Table of Contents 安装 加载MNIST数据 运行Tensor ...
- 深入浅出TensorFlow(二):TensorFlow解决MNIST问题入门
2017年2月16日,Google正式对外发布Google TensorFlow 1.0版本,并保证本次的发布版本API接口完全满足生产环境稳定性要求.这是TensorFlow的一个重要里程碑,标志着 ...
- CNN卷积神经网络—LeNet原理以及tensorflow实现mnist手写体训练
CNN卷积神经网络-LeNet原理以及tensorflow实现minst手写体训练 1. LeNet原理 2.tensorflow实现Mnist手写体识别 1.安装tensorflow 2.代码实现手 ...
- TensorFlow解决MNIST数字识别问题
TensorFlow解决MNIST数字识别问题 废话 这个MNIST数字识别问题是我实现的第一个神经网络,虽然过程基本上都是对着书上的代码敲,但还是对神经网络的训练过程有了一定的了解,同时也复习了前面 ...
最新文章
- Vue 生命周期记录_学习笔记
- IT人 不要一辈子靠技术生存(转)
- sim卡移动端漏洞解析
- java程序设计第一次作业
- SQL SERVER 2008如何卸载干净
- python中的方法和函数的区别_python中函数与方法的区别?
- 科研人必备的学术导航,不看后悔!
- oracle shell 登录,linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面...
- c语言 fgets函数 去除换行符_C语言文件的打开和关闭
- Cloudera发布全球企业数据成熟度报告,混合云趋势中有效数据战略是关键
- linux snap文件夹,SNAP 文件扩展名: 它是什么以及如何打开它?
- 一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)
- Sharepoint 自定义搜索
- java runnable接口 sleep_java Runnable接口如何创建线程
- 【leetcode】数组建树
- VTD-传感器使用小结
- SharePoint 2019 图文安装教程
- PCB的作用及其包含的信息
- 思必驰发布DUI平台,重磅嘉宾圆桌论道语音交互的现状及未来
- 小程序 制作自定义弹层 添加弹层显示和隐藏动画 父组件与子组件(自定义组件)之间传值
热门文章
- Android 虚拟机快捷键
- [Android]应用语言切换的三种方法
- 利用新浪api获取ip归属地
- 使用框架建立富联网应用
- Mybatis Configuration.xml中properties属性定义
- mysql connectors层_mysql底层工作原理
- php try catch 作用域,浅谈PHP中try{}catch{}的使用方法
- css盒子模型实验报告总结_前端知识点总结——盒子模型
- 重新分区_全面解析win10系统硬盘分区怎么调整大小
- android person类_骚操作:不重启 JVM,如何替换掉已经加载的类?