3.1 张量,计算图,会话

本文介绍了使用TensorFlow构建神经网络的基础,包括张量的概念,作为多维数组的数据结构;计算图,用于描述神经网络的计算流程而不实际执行;以及会话,用于执行计算图中的节点运算,实现权重优化并得出模型结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.1 张量,计算图,会话

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

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

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

维数名字例子
0-D0标量 scalars=123
1-D1向量 vectorv=[1,2,3]
2-D2矩阵 matrixm=[[1,2,3],[4,5,6],[7,8,9]
n-D3向量 tensort=[[[[…

张量可以表示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.]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值