TensorFlow神经网络学习之张量与变量概念
作者:_睿智_ 发布时间:2023-07-06 20:58:02
标签:TensorFlow,神经网络,张量,变量
一、张量定义
张量:TensorFlow的张量是n维数组,类型为tf.Tensor。
标量:一个数字 (0阶张量)
向量:一维数组 (1阶张量)
矩阵:二维数组 (2阶张量)
二、张量属性
1、张量的类型
#创建常数张量
a = tf.constant(3.0)
print(a)
2、张量的阶
三、张量的指令
1、常数张量(普通)
#创建常数张量
a = tf.constant(3.0)
print(a)
2、张量数组
1、固定张量数组(0)
#创建张量数组
#0:
array_0 = tf.zeros(shape=[3,3]) #3*3数组(0)
2、固定张量数组(1)
#1:
array_1 = tf.ones(shape=[3,3]) #3*3数组(1)
3、随机张量数组
#随机:
array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12)
# 2*3数组 均值(1.75) 标准差
3、查看张量值
查看张量值:张量.eval()
#会话(查看张量)
with tf.Session() as sess:
print(a.eval())
print(array_0.eval())
print(array_1.eval())
print(array_random.eval())
4、张量类型改变
#修改张量类型
array_0 = tf.cast(array_0, tf.int32)
5、张量形状改变
注:属于动态改变张量,需要张量元素个数固定。
#修改张量形状
array_random = tf.reshape(array_random, shape=[3,2])
修改前:
修改后:
代码
# 张量(创建与修改)
import tensorflow as tf
# 创建张量
def Create_Tensor():
# 创建常数张量
a = tf.constant(3.0)
print(a)
# 创建张量数组
# 0:
array_0 = tf.zeros(shape=[3, 3]) # 3*3数组(0)
# 1:
array_1 = tf.ones(shape=[3, 3]) # 3*3数组(1)
# 随机:
array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12)
# 2*3数组 均值(1.75) 标准差
# 会话(查看张量)
with tf.Session() as sess:
print(a.eval())
print(array_0.eval())
print(array_1.eval())
print(array_random.eval())
# 修改张量
def Modify_Tensor():
global array_0, array_random
print('修改后的:')
# 修改张量类型
array_0 = tf.cast(array_0, tf.int32)
# 修改张量形状
array_random = tf.reshape(array_random, shape=[3, 2])
# 会话(查看张量)
with tf.Session() as sess:
print(array_0.eval())
print(array_random.eval())
# 创建张量
Create_Tensor()
# 修改张量
Modify_Tensor()
四、变量
1、定义变量
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
2、初始化变量
TensorFlow的变量必须初始化,否则会报错。
# 初始化变量
init = tf.global_variables_initializer()
3、开启会话(执行)
# 开启会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))
代码
# 变量
import tensorflow as tf
# 定义变量
a = tf.Variable(initial_value=2)
b = tf.Variable(initial_value=4)
c = tf.add(a,b)
# 初始化变量
init = tf.global_variables_initializer()
# 开启会话
with tf.Session() as sess:
sess.run(init)
print(sess.run(c))
来源:https://blog.csdn.net/great_yzl/article/details/120504850
0
投稿
猜你喜欢
- scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。这里就直
- 本文实例为大家分享了jQuery Ajax File Upload实例源码,供大家参考,具体内容如下项目结构Default.aspxUplo
- 1.定义变量时可以直接赋值 DECLARE @Id int = 5 2.Insert 语句可以一次插入多行数据 INSERT INTO St
- 前言写程序已经丢掉很长一段时间了,最近觉得完全把技术丢掉可能是个死路,还是应该捡起来,所以打算借CSDN来记录学习过程, 由于以前没事的时候
- Psyco 是严格地在 Python 运行时进行操作的。也就是说,Python 源代码是通过 python 命令编译成字节码的,所用的方式和
- 介绍本篇将介绍Python3中的迭代器与生成器,描述可迭代与迭代器关系,并实现自定义类的迭代器模式。迭代的概念上一次输出的结果为下一次输入的
- 这个是用vue-cli生成的项目下使用比如有个路由跳转时需要带两个参数:<router-link to='/tr'&g
- Google中秋的logo出来了,酷似一美男站在月亮上,结果被网友弄出一撒尿版来。中国网民好智慧啊~原logo: 撒尿版logo:
- 在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引但在nump
- 引言我们将学习如何构建一个终端应用程序(CLI应用程序)来管理我们的通讯录我们将使用type来构建CLI应用程序,使用Rich来创建彩色终端
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数
- 目录1.垂直(纵向)切分1.1 垂直分库 1.2 垂直分表 2. 水平(横向)切分2.1 根据数值范围2.2 根据数值取
- 本文实例讲述了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法。分享给大家供大家参考。具体如下:# Standa
- 1. 创建微信公众号首先,你需要注册一个微信公众号。访问微信公众平台,使用你的微信账号登录,并按照提示创建一个新的公众号。2. 开通微信公众
- 问题在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种OperationalError: (2006,
- 上几章节我们主要学习了如何读取文章,而主要任务是读取文档中的文本信息,也就是字符串,而图片本身是不可读的文件所以并没有去读取图片。从今天开始
- 前言日常开发使用到的命令行工具大都支持如下特性:文档自动生成(如 -h --help)多级子命令(如 docker exec -it)支持参
- 让我们看看如何在 Python 中复制数组。 有 3 种复制数组的方法:只需使用赋值运算符。浅拷贝深拷贝1 使用赋值运算符我们可以使用赋值运
- 基本信息程序包名称:基于.net开发的遵循web标准的个人站点程序包下载开发者主页:www.ceocio.net软件大小:1.84mb安装环
- 异常捕捉:try: XXXXX1 raise Exception(“xxxxx2”) except (Except