TensorFlow之张量创建
张量
tensorflow
中的基本数据是tensor
(张量),可以看作是多维数组或列表类型。
张量的创建
使用tf.constant()
创建张量,tf.constant()
的语法格式为:
tf.constant(value,dtype,shape)
value
用来指定数据,dtype
用来显式地声明数据类型,shape
用来指定数据的形状,
例如,要生成一个两行三列全为类型int32
的数字2的张量,可以使用以下代码:
import tensorflow as tf
a = tf.constant(3,dtype=tf.int32,shape=(2,3))
print(a)
但是由于tensor
中的整型数据默认是tf.int32
的,dtype
可以不用显式地指定。
tensorflow
所生成的张量都可以用numpy
方法转换成对应的数据,例:
import tensorflow as tf
a = tf.constant(3,dtype=tf.int32,shape=(2,3))
print(a)
print(a.numpy())
tensor
的数据类型有:
constant
函数的value
参数除了可以是数字外,还可以是numpy
数组,例:
import numpy as np
b=np.array([1,2,3])
c=tf.constant(b)
print(c)
全0张量与全1张量的创建
使用tf.zeros
与tf.ones
函数进行创建。语法格式:
tf.zeros(shape,dtype = tf.float32)
tf.ones(shape,dtype = tf.float32)
例:
b = tf.zeros(2)
c = tf.ones([2, 3])
print("b=", b)
print("c=", c)
如果要指定维度大于2的张量,可以将行列数写进数组,如c = tf.ones([2, 3])
表明创建两行三列的全一张量。
创建元素值都相同的张量
tf.fill()
函数用于创建值都相同的张量,语法格式为:
tf.fill(dims,value)
tf.fill()
函数没有dtype
参数,它根据传递进的参数自动判断数据类型的。dims
用于指定形状,例:
d = tf.fill(dims=[2,3],value=9)
print("d=",d)
创建随机数张量
正态分布
语法格式:
tf.random.normal(shape,mean,stddev,dtype)
mean
意为均值,stddev
为标准差,
例,创建2X2的正态分布随机数张量:
e = tf.random.normal([2, 2])
print("e=",e)
截断正态分布
语法格式:
tf.random.truncated_normal(shape, mean, stddev,)
返回值是一个截断的正态分布,截断的标准是2倍的标准差。
创建均匀分布张量
语法格式:
tf.random.uniform(shape, minval, maxval, dtype)
minval
表示最小值,maxval
表示最大值,前闭后开,不包括最大值。
例:
f = tf.random.uniform(shape=[2, 3], minval=0, maxval=10)
print("f=", f)
随机打乱
tf.random.shuffle(x)
函数意为随机打乱张量x
的第一维,但其实它是可以打乱列表或者数组的,打乱后返回张量类型。
创建序列
tf.range()
函数可以创建序列,用法与python中的range
函数类似。语法格式:
tf.range(start, limit, delta=1, dtype)
start
与limit
分别表示起始数字与结束数字,前闭后开,delta
表示步长。
改变张量数据类型
使用tf.cast
可以改变张量的数据类型,语法格式为:
tf.cast(x,dtype)
例,将tf.int32
改变成tf.float32
类型
a = tf.constant(12,dtype=tf.int32,shape=(2,3))
tf.cast(a,dtype=tf.float32)
print(a)
tf.convert_to_tensor
函数能将各种类型的Python对象转换为张量对象。它接受张量对象、数字数组、Python列表和Python标量。
a = [i for i in range(10)]
print("a_type=",type(a))
b = tf.convert_to_tensor(a)
print(b)
tensor对象的属性
可以直接输出张量的ndim
(维度)、shape
、dtype
属性,例:
a = tf.constant(value=2, shape=(2, 3), dtype=tf.float32)
print(a.ndim)
print(a.dtype)
print(a.shape)
也可以使用tensorflow
的size
、rank
、shape
函数来得到张量的长度、维度、形状属性。
print(tf.size(a))
print(tf.shape(a))
print(tf.rank(a))
TensorFlow之张量创建相关推荐
- tensorflow 转张量类型为float_TensorFlow快速入门
TensorFlow是一个数值计算库,其中数据(Tensor,张量)在计算图中流动.数据在TensorFlow用被称为张量的n维数据表示.计算图由数据和数学操作符构成. 计算图中的节点代表数学操作符 ...
- TensorFlow之张量
TensorFlow之张量 1 张量(Tensor) [类似于numpy中的数组] TensorFlow 的张量就是一个 n 维数组, 类型为tf.Tensor.Tensor具有以下两个重要的属性 ...
- tensorflow 转张量类型为float_5个简单的步骤掌握Tensorflow的Tensor
在这篇文章中,我们将深入研究Tensorflow Tensor的细节.我们将在以下五个简单步骤中介绍与Tensorflow的Tensor中相关的所有主题: 第一步:张量的定义→什么是张量? 第二步:创 ...
- TensorFlow之张量声明
TensorFlow之张量声明 TensorFlow的主要数据结构是张量,它用张量来操作计算图.在TensorFlow里可以把变量或者占位符声明为张量.首先,需要知道如何创建张量. 1.开始 创建一个 ...
- 深度学习框架 TensorFlow:张量、自动求导机制、tf.keras模块(Model、layers、losses、optimizer、metrics)、多层感知机(即多层全连接神经网络 MLP)
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 安装 TensorFlow2.CUDA10.cuDNN7.6. ...
- [TensorFlow系列-4]:Tensorflow基础 - 张量的创建方法
作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing 本文网址:https://blog.csdn.net/HiWangWenBing/article ...
- 快速掌握TensorFlow中张量运算的广播机制
相信大家在使用numpy和tensorflow的时候都会遇到如下的错误 ValueError: operands could not be broadcast together with shapes ...
- 【tensorflow】张量tensor--数据容器(把它想象成一个数字的水桶)
0维张量/标量 标量是一个数字 1维张量/向量 1维张量称为"向量" 2维张量 2维张量称为矩阵 3维张量 公用数据存储在张量 时间序列数据 股价 文本数据 彩色图片(RGB) 让 ...
- tensorflow 转张量类型为float_TensorFlow是什么?怎么用?终于有人讲明白了
作者:翁贝托·米凯卢奇(Umberto Michelucci)来源:大数据DT(ID:bigdatadt) 导读:在开始使用TensorFlow之前,必须了解它背后的理念.该库很大程度上基于计算图的概 ...
最新文章
- Bzoj4568: [Scoi2016]幸运数字
- wireshark抓包详解
- Intellij IDEA + Maven——jar项目改成war项目相互转换
- 数据库连接oracle 10g rman 备份与恢复 之一
- windows下如何github ssh 公钥
- android chrome iframe设置src属性无法启动app
- Docker方式安装SonarQube
- 【JavaScript高级程序设计】--第1章 JavaScript简介
- usb3.0导入工具pe_BlackHat大会上,BlackBerry宣布开源逆向工具PE Tree
- Tomcat中配置文件conf修改的一些常识
- 解决ubuntu 20.04 打不开设置的问题
- Solr(一) Solr 简介及搜索原理
- latex 插入Python代码
- 防御病毒邮件得看U-Mail邮件网关
- mysql mpm_mysql mpm
- idea 设置版权信息
- php添加表格行列,excel表格怎么插行和列?
- 中文自然语言预处理总结
- android aoa usb,建立通过USB连接线使用AOA protocal两款Android设备
- android之NFC基础技术分享
热门文章
- 精品软件介绍 Wireless Network Watcher 中文版 - 防蹭网监视软件
- 最近海外很火的WeTube Network是不是真的可以成为YouTube2.0 ?
- 车牌--常用车牌定位算法浅析
- 金蝶k3 cloud 7.x 学习 授权
- 攻防世界crypto中 banana-princess的 writeup,真是坑啊
- 8、Zookeeper服务注册与发现原理浅析
- 延缓写入失败计算机硬件,windos延缓写入失败怎么办 windos延缓写入失败处理方法【图文】...
- 务实java基础之IO
- java sortedmap_Java SortedMap接口
- Kafka 原理简介