tensorflow张量demo定义

本文详细介绍了在TensorFlow中如何创建和操作张量,包括常量、随机张量的生成,以及张量类型和形状的修改。同时,深入探讨了变量的创建、初始化和使用,为读者提供了丰富的代码示例。
部署运行你感兴趣的模型镜像

 def tensor_demo():
2 """
3
4 :return:
5 """
6 tensor1 = tf.constant(4.0)
7 tensor2 = tf.constant([1, 2, 3, 4])
8 linear_squares = tf.constant([[4], [9], [16], [25]], dtype=tf.int32)
9 print("tensor1:\n", tensor1)
10 print("tensor2:\n", tensor2)
11 print("linear_squares:\n", linear_squares)
12
13 # 生成常用张量
14 tensor3 = tf.zeros(shape=(3, 4))
15 print("tensor3:\n", tensor3)
16 tensor4 = tf.ones(shape=(2, 3, 4))
17 print("tensor4:\n", tensor4)
18 tensor5 = tf.random_normal(shape=(2, 3), mean=1.75, stddev=0.2)
19 print("tensor5:\n", tensor5)
20
21 with tf.compat.v1.Session() as sess:
22 print("tensor3_value:\n", tensor3.eval())
23 print("tensor4_value:\n", tensor4.eval())
24 print("tensor4_value:\n", tensor5.eval())
25
26 return None
27
28
29 def tensoredit_demo():
30 """
31 张量类型的修改
32 :return:
33 """
34 linear_squares = tf.constant([[4], [9], [16], [25]], dtype=tf.int32)
35 print("linear_squares_before:\n", linear_squares)
36
37 l_cast = tf.cast(linear_squares, dtype=tf.float32)
38 print("linear_squares_after:\n", linear_squares)
39 print("l_cast:\n", l_cast)
40 return None
41
42
43 def editstaticshape_demo():
44 """
45
46 :return:
47 """
48 a = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, None])
49 b = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, 10])
50 c = tf.compat.v1.placeholder(dtype=tf.float32, shape=[3, 2])
51 print("a:\n", a)
52 print("b:\n", b)
53 print("c:\n", c)
54
55 # 更新形状未确定的部分
56 a.set_shape([2, 3])
57 b.set_shape([2, 10])
58 print("a:\n", a)
59 print("b:\n", b)
60
61 return None;
62
63 def editshape_demo():
64 """
65 更新/改变动态形状
66 不会改变原始的tensor
67 返回新的改变类型后的tensor
68 :return:
69 """
70 a = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, None])
71 print("a:\n", a)
72 a.set_shape([2, 3])
73 print("a_setShape:\n", a)
74 # 元素个数没有变,还是2*3*1=6个
75 a_reshape = tf.reshape(a,shape=[2,3,1])
76 print("a_reshape:\n", a_reshape)
77 print("a:\n", a)
78
79 return None;
80
81 def variable_demo():
82 """
83 变量的演示
84 变量需要显式初始化,才能运行值
85 :return:
86 """
87 # 创建变量
88 # 使用命名空间可以使图的结构更加清晰
89 with tf.variable_scope("myscope"):
90 a = tf.Variable(initial_value=50)
91 b = tf.Variable(initial_value=40)
92 with tf.variable_scope("yourscope"):
93 c= tf.add(a,b)
94 print("a:\n",a)
95 print("b:\n",b)
96 print("c:\n",c)
97
98
99 init = tf.global_variables_initializer()
100
101
102 with tf.Session() as sess:
103 sess.run(init)
104 a_value,b_value,c_value=sess.run([a,b,c])
105 print("a_value:\n",a_value)
106 print("b_value:\n",b_value)
107 print("c_value:\n",c_value)
108
109 return None

 

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

内容概要:本文介绍了一个基于多传感器融合的定位系统设计方案,采用GPS、里程计和电子罗盘作为定位传感器,利用扩展卡尔曼滤波(EKF)算法对多源传感器数据进行融合处理,最终输出目标的滤波后位置信息,并提供了完整的Matlab代码实现。该方法有效提升了定位精度与稳定性,尤其适用于存在单一传感器误差或信号丢失的复杂环境,如自动驾驶、移动采用GPS、里程计和电子罗盘作为定位传感器,EKF作为多传感器的融合算法,最终输出目标的滤波位置(Matlab代码实现)机器人导航等领域。文中详细阐述了各传感器的数据建模方式、状态转移与观测方程构建,以及EKF算法的具体实现步骤,具有较强的工程实践价值。; 适合人群:具备一定Matlab编程基础,熟悉传感器原理和滤波算法的高校研究生、科研人员及从事自动驾驶、机器人导航等相关领域的工程技术人员。; 使用场景及目标:①学习和掌握多传感器融合的基本理论与实现方法;②应用于移动机器人、无人车、无人机等系统的高精度定位与导航开发;③作为EKF算法在实际工程中应用的教学案例或项目参考; 阅读建议:建议读者结合Matlab代码逐行理解算法实现过程,重点关注状态预测与观测更新模块的设计逻辑,可尝试引入真实传感器数据或仿真噪声环境以验证算法鲁棒性,并进一步拓展至UKF、PF等更高级滤波算法的研究与对比。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值