3.1 张量,计算图,会话

3.1 张量,计算图,会话

本节课目标:搭建第一个神经网络,总结搭建八股

基于TensorFlow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型.

张量(Tensor):多维数组(列表)
阶:张量的维数

维数 名字 例子
0-D 0 标量 scalar s=123
1-D 1 向量 vector v=[1,2,3]
2-D 2 矩阵 matrix m=[[1,2,3],[4,5,6],[7,8,9]
n-D 3 向量 tensor t=[[[[…

张量可以表示0阶到n阶数组(列表)

tensorflow的数据类型:tf.float32 tf.int32

例子:
实现两个张量的加法:

import tensorflow as tf

a=tf.constant([1.0,2.0]) #定义一个张量a为常数1.0,2.0
b=tf.constant([3.0,4.0])

result = a+b
print(result)

显示结果:Tensor(“add:0”,shape=(2,),dtype=float32)

add:节点名

0:第0个输出

shape:维度

2:一维数组长度为2

dtype:数据类型


2,计算图(Graph):搭建神经网络的计算过程,只搭建,不运算

graph LR
A((X1)) -->|w1| D((y))
B((X2)) -->|w2| D((y))

y=XW=x1w1+x2w2

import tensorflow as tf

x=tf.constant([[1.0,2.0]])  #x是一个一行两列的张量
w=tf.constant([[3.0],[4.0]]) #w是一个两行一列的张量

y=tf.matmul(x,w)
print(y) #一行两列乘以两行一列等于一个数

结果为:Tensor(“matmul:0”,shape(1,1),dtype=float32)


会话(Session):执行计算图中的节点运算

with tf.Session() as sess:

print(sess.run(y))

import tensorflow as tf

x=tf.constant([[1.0,2.0]])  #x是一个一行两列的张量
w=tf.constant([[3.0],[4.0]]) #w是一个两行一列的张量

y=tf.matmul(x,w)
#print(y) #一行两列乘以两行一列等于一个数

with tf.Session() as sess:
    print(sess.run(y))  #计算出y的值

1.0*3.0+2.0*4.0=11.0

结果为:[[11.]]

发布了91 篇原创文章 · 获赞 42 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/cjhxydream/article/details/86749397
3.1