张量

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.zerostf.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)

startlimit分别表示起始数字与结束数字,前闭后开,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(维度)、shapedtype属性,例:

a = tf.constant(value=2, shape=(2, 3), dtype=tf.float32)
print(a.ndim)
print(a.dtype)
print(a.shape)

也可以使用tensorflowsizerankshape函数来得到张量的长度、维度、形状属性。

print(tf.size(a))
print(tf.shape(a))
print(tf.rank(a))

TensorFlow之张量创建相关推荐

  1. tensorflow 转张量类型为float_TensorFlow快速入门

    TensorFlow是一个数值计算库,其中数据(Tensor,张量)在计算图中流动.数据在TensorFlow用被称为张量的n维数据表示.计算图由数据和数学操作符构成. 计算图中的节点代表数学操作符 ...

  2. TensorFlow之张量

    TensorFlow之张量 1 张量(Tensor)  [类似于numpy中的数组] TensorFlow 的张量就是一个 n 维数组, 类型为tf.Tensor.Tensor具有以下两个重要的属性 ...

  3. tensorflow 转张量类型为float_5个简单的步骤掌握Tensorflow的Tensor

    在这篇文章中,我们将深入研究Tensorflow Tensor的细节.我们将在以下五个简单步骤中介绍与Tensorflow的Tensor中相关的所有主题: 第一步:张量的定义→什么是张量? 第二步:创 ...

  4. TensorFlow之张量声明

    TensorFlow之张量声明 TensorFlow的主要数据结构是张量,它用张量来操作计算图.在TensorFlow里可以把变量或者占位符声明为张量.首先,需要知道如何创建张量. 1.开始 创建一个 ...

  5. 深度学习框架 TensorFlow:张量、自动求导机制、tf.keras模块(Model、layers、losses、optimizer、metrics)、多层感知机(即多层全连接神经网络 MLP)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 安装 TensorFlow2.CUDA10.cuDNN7.6. ...

  6. [TensorFlow系列-4]:Tensorflow基础 - 张量的创建方法

    作者主页(文火冰糖的硅基工坊):https://blog.csdn.net/HiWangWenBing 本文网址:https://blog.csdn.net/HiWangWenBing/article ...

  7. 快速掌握TensorFlow中张量运算的广播机制

    相信大家在使用numpy和tensorflow的时候都会遇到如下的错误 ValueError: operands could not be broadcast together with shapes ...

  8. 【tensorflow】张量tensor--数据容器(把它想象成一个数字的水桶)

    0维张量/标量 标量是一个数字 1维张量/向量 1维张量称为"向量" 2维张量 2维张量称为矩阵 3维张量 公用数据存储在张量 时间序列数据 股价 文本数据 彩色图片(RGB) 让 ...

  9. tensorflow 转张量类型为float_TensorFlow是什么?怎么用?终于有人讲明白了

    作者:翁贝托·米凯卢奇(Umberto Michelucci)来源:大数据DT(ID:bigdatadt) 导读:在开始使用TensorFlow之前,必须了解它背后的理念.该库很大程度上基于计算图的概 ...

最新文章

  1. Bzoj4568: [Scoi2016]幸运数字
  2. wireshark抓包详解
  3. Intellij IDEA + Maven——jar项目改成war项目相互转换
  4. 数据库连接oracle 10g rman 备份与恢复 之一
  5. windows下如何github ssh 公钥
  6. android chrome iframe设置src属性无法启动app
  7. Docker方式安装SonarQube
  8. 【JavaScript高级程序设计】--第1章 JavaScript简介
  9. usb3.0导入工具pe_BlackHat大会上,BlackBerry宣布开源逆向工具PE Tree
  10. Tomcat中配置文件conf修改的一些常识
  11. 解决ubuntu 20.04 打不开设置的问题
  12. Solr(一) Solr 简介及搜索原理
  13. latex 插入Python代码
  14. 防御病毒邮件得看U-Mail邮件网关
  15. mysql mpm_mysql mpm
  16. idea 设置版权信息
  17. php添加表格行列,excel表格怎么插行和列?
  18. 中文自然语言预处理总结
  19. android aoa usb,建立通过USB连接线使用AOA protocal两款Android设备
  20. android之NFC基础技术分享

热门文章

  1. 精品软件介绍 Wireless Network Watcher 中文版 - 防蹭网监视软件
  2. 最近海外很火的WeTube Network是不是真的可以成为YouTube2.0 ?
  3. 车牌--常用车牌定位算法浅析
  4. 金蝶k3 cloud 7.x 学习 授权
  5. 攻防世界crypto中 banana-princess的 writeup,真是坑啊
  6. 8、Zookeeper服务注册与发现原理浅析
  7. 延缓写入失败计算机硬件,windos延缓写入失败怎么办 windos延缓写入失败处理方法【图文】...
  8. 务实java基础之IO
  9. java sortedmap_Java SortedMap接口
  10. Kafka 原理简介