我是靠谱客的博主 天真哈密瓜,最近开发中收集的这篇文章主要介绍tensorflow入门1 基本用法和最近邻算法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#tensorflow入门例子
import tensorflow as tf
hello = tf.constant('Hello, Tensorflow!')
sess = tf.Session()
print sess.run(hello)
print "--------------"
##################################################
#basic Operations
a = tf.constant(2)
b = tf.constant(3)
with tf.Session() as sess:
    print sess.run(a+b)
    print sess.run(a*b)
print "--------------"
###################################################
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
add = tf.add(a,b)
mul = tf.mul(a,b)
with tf.Session() as sess:
    print sess.run(add,feed_dict={a:2,b:3})
    print sess.run(mul,feed_dict={a:2,b:3})
print "--------------"
####################################################
matrix1 = tf.constant([[3.,3.]])#1*2矩阵
matrix2 = tf.constant([[2.],[2.]])#2*1
product = tf.matmul(matrix1,matrix2)
with tf.Session() as sess:
    result = sess.run(product)
    print result
print "--------------"
#################################################
#最近邻算法
import numpy as np
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("./MNIST_data/",one_hot=True)#one_hot是对标签进行one-hot

Xtr,Ytr = mnist.train.next_batch(5000)
Xte,Yte = mnist.test.next_batch(200)

xtr = tf.placeholder("float",[None,784])
xte = tf.placeholder("float",[784])
#计算L1距离,两点各个维度做差,取绝对值后求和
#tf.neg()取负
#tf.reduce_sum()按照reduction_indices指定的轴进行求和1代表对行求和
distance = tf.reduce_sum(tf.abs(xtr-xte),reduction_indices=1)
#换成欧氏距离,结果没有影响
#distance = tf.reduce_sum(tf.square(xtr-xte),reduction_indices=1)
#arg_min函数得到distance中值最小的下标
pred = tf.arg_min(distance,0)
accuracy = 0.
init = tf.initialize_all_variables()
with tf.Session() as sess:
    sess.run(init)
    for i in range(len(Xte)):
        nn_index = sess.run(pred,feed_dict={xtr:Xtr,xte:Xte[i,:]})
        print i,np.argmax(Ytr[nn_index]),np.argmax(Yte[i])
        if np.argmax(Ytr[nn_index]) == np.argmax(Yte[i]):
            accuracy += 1./len(Xte)
    print accuracy
结果准确率92%









最后

以上就是天真哈密瓜为你收集整理的tensorflow入门1 基本用法和最近邻算法的全部内容,希望文章能够帮你解决tensorflow入门1 基本用法和最近邻算法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部