Tensorflow基础知识

一、四种重要类型、三个重要的函数

(1)四种重要的类型:

        1)@Variable 计算图谱的变量

        2)@Tensor 一个多维矩阵,带有很多方法

        3)@Graph 一个计算图谱

        4)@Session用来运行一个计算图谱

(2)Tensorflow三个重要的函数:

        1)Variable是一个class

        2)Constant返回的是:a constant @Tensor

        3)Placeholder 返回的是一个尚未存在的@Tensor,需要在Session执行时获得。

二、基本操作

#首先我们引入tensorflow
import tensorflow as tf




#我们定义一个基本函数运算函数,加法运算
def basic_operation():
    v1 = tf.Variable(10)    #定义Variable变量
    v2 = tf.Variable(5)
    s = v1 + v2
    print(s)
#运行basic_operation()你会发现不是15。。。。what? 
#这里我们介绍下session, session是用来计算的实例,我们需要先定义一个session,将它初始化,再进行赋值,方法如下:
    sess = tf.Session()     #定义一个session
    tf.global_variables_initializer().run(session = sess)#进行初始化
    print('变量是需要初始化的')
    print('v1+v2 = ', s.eval(session = sess)) #打印输出,s.eval() 用来计算括号里的session,也可以用.run()实现,如下句代码所示
 # print('v1+v2 = ', sess.run(s))


#这样你就会发现结果果然是15了。

#这种先定义再操作的方式称为符号式编程(symbolic programing)。

现在我们用graph进行操作

graph = tf.Graph() #定义一个graph
with graph.as_default():  #这个graph是我们默认的
    value1 = tf.constant([1,2]) #定义一个常量
    value2 = tf.Variable([3,4]) #定义一个变量
    mul = value1 * value2 #对应相乘
    
with tf.Session(graph = graph) as mySess:
    tf.global_variables_initializer().run()   #因为在with在面,不用run(session = mySess),直接run()就行
    print(mySess.run(mul))

#这样就得到输出[3, 8]

简单介绍下feed机制,给feed提供数据,作为run()调用的参数,feed只在调用它的方法内有效,调用结束, feed消失。

import tensorflow as tf




input1 = tf.placeholder(tf.float32) #定义placeholder,默认是int32型
input2 = tf.placeholder(tf.float32)
ouput = input1 * input2




with tf.Session() as sess:
  print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]}))
#这样,你就会看到输出为[14.]

猜你喜欢

转载自blog.csdn.net/shaopeng568/article/details/79765969