当前位置:网站首页>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
边栏推荐
- 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
- Dry goods | how to extract thumbnails quickly?
- Detailed deployment of flask project
- Halo open source project learning (II): entity classes and data tables
- 958. Complete binary tree test
- Welcome to the markdown editor
- Sword finger offer 03 Duplicate number in array
- 587. 安装栅栏 / 剑指 Offer II 014. 字符串中的变位词
- The method of changing a value in the array and a value in the object of wechat applet
- 470. Rand10() is implemented with rand7()
猜你喜欢
Anchor location - how to set the distance between the anchor and the top of the page. The anchor is located and offset from the top
Future usage details
Uniapp custom search box adaptation applet alignment capsule
2022年上海市安全员C证操作证考试题库及模拟考试
2021 Great Wall Cup WP
Go语言JSON包使用
440. 字典序的第K小数字(困难)-字典树-数节点-字节跳动高频题
Double pointer advanced -- leetcode title -- container with the most water
C1 notes [task training chapter I]
2021长城杯WP
随机推荐
Construction of functions in C language programming
列表的使用-增删改查
On the problem of V-IF display and hiding
402. Remove K digits - greedy
C1 notes [task training chapter I]
vite配置proxy代理解决跨域
JS get link? The following parameter name or value, according to the URL? Judge the parameters after
587. 安装栅栏 / 剑指 Offer II 014. 字符串中的变位词
Oil monkey website address
JS parsing and execution process
undefined reference to `Nabo::NearestNeighbourSearch
Error in created hook: "referenceerror:" promise "undefined“
Some questions some questions some questions some questions
C1小笔记【任务训练篇二】
【Appium】通过设计关键字驱动文件来编写脚本
402. 移掉 K 位数字-贪心
122. The best time to buy and sell stocks II - one-time traversal
云原生虚拟化:基于 Kubevirt 构建边缘计算实例
Open source key component multi_ Button use, including test engineering
198. Looting - Dynamic Planning