Tensorflow入门:Non-parametric Nearest Neighbor
2017-02-23 10:46
281 查看
Tensorflow入门:Non-parametric Nearest Neighbor
Tensorflow入门Non-parametric Nearest Neighbor代码
要点
总结
代码
import numpy as np import tensorflow as tf # import MNIST data from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # input data Xtr, Ytr = mnist.train.next_batch(5000) Xte, Yte = mnist.test.next_batch(50) # input data structure xtr = tf.placeholder("float", [None, 784]) xte = tf.placeholder("float", [784]) # calculate distance between test samples and all train samples distance = tf.reduce_sum(tf.abs(tf.add(xtr, tf.negative(xte))), reduction_indices= 1) # find the nearest neighbor pred = tf.arg_min(distance, 0) init = tf.global_variables_initializer() accuracy = 0. with tf.Session() as sess: sess.run(init) for i in range(len(Xte)): min_index = sess.run(pred, feed_dict={xtr: Xtr, xte: Xte[i]}) print("Test", i, "prediction:", np.argmax(Ytr[min_index]), "true value: ", np.argmax(Yte[i])) if(np.argmax(Ytr[min_index]) == np.argmax(Yte[i])): accuracy += 1/len(Xte) else: print("error", i) print(accuracy)
要点
需要tf.global_variables_initializer()对全局参数进行初始化tensorflow里面形参和实参分开,distance和pred相当于C里面的函数,xtr和xte为形参,Xtr和Xte为实参
reduce_sum中的reduction_indices,0为竖着求和(每列求和),1为横着求和(每行求和)。先列后行的顺序。
实际参数中Xte[1]和Xte[1, :]作用一样
tf和np中均有argmax函数,具体区别还有探索。其中np.argmax可以不需要第二个参数。
总结
通过tensorflow中input_data读取数据在python2.7中失败,需要安装python3.5和对应的tensorflow。这是例子是Non-paramatric的nearest neighbor,没有训练过程,直接进行inference。通过改进,可以综合多个相同最近的样本值提高该模型的capacity。相关文章推荐
- 谷歌中国首席工程师详解TensorFlow:从入门到不放弃 ‖ PPT
- Tensorflow入门例子(1)
- TensorFlow深度学习入门——Win10下安装Tensorflow和GPU加速
- 关于tensorflow入门代码
- TensorFlow 入门之第一个神经网络训练 MNIST
- tensorflow 入门之MNIST
- TensorFlow 入门(一):基本使用
- TensorFlow学习笔记1:入门
- TensorFlow 从入门到精通(一):安装和使用
- TensorFlow入门很好的教程:你好,TensorFlow!
- 01:一文入门谷歌深度学习框架Tensorflow
- TensorFlow全新的数据读取方式:Dataset API入门教程(转)
- TensorFlow入门程序-线性回归
- TensorFlow和深度学习入门教程
- TensorFlow入门教程(3)
- TensorFlow (一) 从入门到实践
- TensorFlow安装与使用入门-MacOS环境
- Tensorflow--入门记录
- 真正从零开始,TensorFlow详细安装入门图文教程!
- Tensorflow教程-MNIST机器学习入门