当前位置:网站首页>Tensorflow tensor introduction
Tensorflow tensor introduction
2022-04-23 17:53:00 【Stephen_ Tao】
List of articles
1. tensor (Tensor) The definition of
TensorFlow The tensor in is a n An array of dimensions , The type is tf.tensor. Be similar to numpy Medium ndarray.Tensor Has two important properties , Data types including tensors (dtype) And tensor shape (shape).
2. Instructions for creating tensors
Tensors are divided into fixed value tensors and random value tensors , Different types of tensors have different creation instructions .
2.1 Fixed value tensor
Common fixed value tensor creation instructions are as follows :
tf.zeros(shape,dtype=tf.float32,name=None)
tf.zeros_like(shape,dtype=tf.float32,name=None)
tf.ones(shape,dtype=tf.float32,name=None)
tf.ones_like(shape,dtype=tf.float32,name=None)
tf.constant(value,dtype=tf.float32,shape=None,name='Const')
2.2 Random valued tensor
It is mainly used to generate specific distribution , Random valued tensors such as normal distribution .
be based on Pycharm Create a random valued tensor :
use InteractiveSession() stay Python Console Operation in
2.2.1 Get into InteractiveSession Interactive conversation
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
tf.compat.v1.InteractiveSession()
In this paper TensorFlow The version is 2.5.0 edition , In this version, there is no tf.InteractiveSession(), So compatible v1 The interactive session is called by version .
2.2.2 Generate normal distribution random value tensor
random_data = tf.random.normal([2,3],mean=0.0,stddev=1.0)
random_data.eval()
We will get the following results :
array([[-0.5411521 , -0.04788242, -0.14508048],
[-1.2735071 , -0.5523144 , -0.46699935]], dtype=float32)
3. Transformation of tensor
The transformation of tensor includes type change and shape change .
3.1 The type of tensor changes
Here are some functions of tensor type change :
tf.string_to_number(string_tensor,out_type=None,name=None)
tf.to_double(x,name='ToDouble')
tf.to_float(x,name='ToFloat')
tf.cast(x,dtype,name=None)
3.2 The shape of the tensor changes
There are two kinds of shape changes of tensors , They are dynamic shape change and static shape change .
3.2.1 Change of static shape
API:object.set_shape
The rules that need to be met :
- After the static shape is fixed, it cannot be modified again
- When converting static shapes , Cannot convert across orders
Example 1:
with tf.compat.v1.Session() as sess:
a = tf.compat.v1.placeholder(dtype=tf.float32,shape=[3,4])
print("Origin a:",a.get_shape())
a.set_shape(shape=[2,6])
The above code modifies the shape when the static shape is fixed , The following error message will be generated :
ValueError: Dimension 0 in both shapes must be equal, but are 3 and 2. Shapes are [3,4] and [2,6].
Example 2:
with tf.compat.v1.Session() as sess:
a = tf.compat.v1.placeholder(dtype=tf.float32,shape=[None,3])
print("Origin a:",a.get_shape())
a.set_shape(shape=[3,2,3])
The above code changes shape across steps , The following error message will be generated :
ValueError: Shapes must be equal rank, but are 2 and 3
Example 3:
with tf.compat.v1.Session() as sess:
a = tf.compat.v1.placeholder(dtype=tf.float32,shape=[None,None])
print("Origin a:",a.get_shape())
a.set_shape(shape=[3,2])
print("changed a:",a.get_shape())
The above is the correct code , give the result as follows (set_shape It's in the original Tensor Based on , No new objects are generated ):
Origin a: (None, None)
changed a: (3, 2)
3.2.2 Dynamic shape changes
API:tf.reshape()
The rules that need to be met :
- Create new tensors dynamically , The number of elements of the tensor must match
Example :
with tf.compat.v1.Session() as sess:
a = tf.compat.v1.placeholder(dtype=tf.float32,shape=[3,4])
print("a:",a.get_shape())
b = tf.reshape(a,[3,2,2])
c = tf.reshape(a,[2,6])
print("a:",a.get_shape())
print("b:",b.get_shape())
print("c:",c.get_shape())
The above is the correct code , give the result as follows (reshape Yes, a new object will be generated , Do not change the original Tensor The shape of the ):
a: (3, 4)
a: (3, 4)
b: (3, 2, 2)
c: (2, 6)
版权声明
本文为[Stephen_ Tao]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230548468864.html
边栏推荐
- 剑指 Offer 03. 数组中重复的数字
- Click Cancel to return to the previous page and modify the parameter value of the previous page, let pages = getcurrentpages() let prevpage = pages [pages. Length - 2] / / the data of the previous pag
- 92. 反转链表 II-字节跳动高频题
- QT modification UI does not take effect
- Gaode map search, drag and drop query address
- 102. 二叉树的层序遍历
- Utilisation de la liste - Ajouter, supprimer et modifier la requête
- 587. Install fence / Sword finger offer II 014 Anagrams in strings
- Halo 开源项目学习(二):实体类与数据表
- 958. 二叉树的完全性检验
猜你喜欢
Operation of 2022 mobile crane driver national question bank simulation examination platform
JS parsing and execution process
Cloud native Virtualization: building edge computing instances based on kubevirt
关于gcc输出typeid完整名的方法
958. Complete binary tree test
01 - get to know the advantages of sketch sketch
Gaode map search, drag and drop query address
Compilation principle first set follow set select set prediction analysis table to judge whether the symbol string conforms to the grammar definition (with source code!!!)
C1小笔记【任务训练篇二】
Tell the truth of TS
随机推荐
Summary of common SQL statements
Uniapp custom search box adaptation applet alignment capsule
列表的使用-增删改查
编译原理 求first集 follow集 select集预测分析表 判断符号串是否符合文法定义(有源码!!!)
Timestamp to formatted date
Hcip fifth experiment
2022年茶艺师(初级)考试模拟100题及模拟考试
2022 Jiangxi Photovoltaic Exhibition, China Distributed Photovoltaic Exhibition, Nanchang Solar Energy Utilization Exhibition
Examination question bank and online simulation examination of the third batch (main person in charge) of special operation certificate of safety officer a certificate in Guangdong Province in 2022
Use of list - addition, deletion, modification and query
Vite configure proxy proxy to solve cross domain
470. Rand10() is implemented with rand7()
Ring back to origin problem - byte jumping high frequency problem
Leak detection and vacancy filling (VIII)
Flask项目的部署详解
Go's gin framework learning
Add animation to the picture under V-for timing
402. Remove K digits - greedy
剑指 Offer 22. 链表中倒数第k个节点-快慢指针
Open futures, open an account, cloud security or trust the software of futures companies?