python代码解析

代码来自ros机器人开发实践

显示有问题,双击代码查看。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#import tensorflow as tf                #倒入tensorflow库同是给其起别名tf
#tf.compat.v1.disable_eager_execution() #这个是因为下载的tensorflow2目前的语法用的1.1版本,少东西,     
                                         加上这句花才能运行
import tensorflow.compat.v1 as tf       #本行及下一行作用和上一行一样,但效果比上一行全面。
tf.disable_v2_behavior()
import numpy as np                      #同tensorflow解释,numpy是一个库,主要用于维度数组和矩阵计算 
                                         提供了重要的数据对象ndarray以及数组矩阵处理函数 ;

# 从-1到1等差采样101个点
trX = np.linspace(-1, 1, 101)           #trX代表从-1到1,一共有101个点。这里可以理解为我们有很多这样 
                                         的数据
# 根据线性关系计算每个x对应的y值,   
  并且加入一些噪声
trY = 2 * trX + \
	np.ones(*trX.shape) * 4 + \         #生成101个为1的数
	np.random.randn(*trX.shape) * 0.03  #噪声代码,生成一个含有n个符合标准正态分布的随机数的数 
                                         组,*trX.shape代表101,是一种数量的表达方 
                                         式,*trX.shape(0)输出结果相同。

# 创建变量占位符
X = tf.placeholder(tf.float32)          #placeholder占位符号,告诉系统这里有一个值/向量/矩阵,但没办
                                         法给出具体
                                         数值,站位的数据类型,tf.float32,32位浮点数
Y = tf.placeholder(tf.float32)

# 创建模型
w = tf.Variable(0.0, name="weights")    #权重,应该是给名叫weights的变量赋值为0。
b = tf.Variable(0.0, name="biases")     #阀值,这个赋值方法好像可以在计算结束后将变量保存下来,因为
                                         一般情况下是不保存的。
y_model = tf.multiply(X, w) + b  # 线性回归模型y=X*w + b

# 创建代价函数
cost = tf.square(Y - y_model) 

# 构建一个优化器,尽量拟合所有的数据点,使得代价函数的值最小
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(cost)

# 在会话中运行计算图
sess=tf.compat.v1.Session()  #sess = tf.Session()
# 初始化所有变量
init = tf.global_variables_initializer()
sess.run(init)

# 开始训练模型
for i in range(100):
	for (x, y) in zip(trX, trY):
		sess.run(train_op, feed_dict={X: x, Y: y})
w_ = sess.run(w) # it should be something around 2
b_ = sess.run(b) # it should be something atound 4

# 打印训练得到的线性回归模型
print("Result : trY = " + str(w_) + "*trX + " + str(b_))

博文:np.random.randn的全方位解析_笔记大全_设计学院

零基础从20K到25K的深度学习之路--3 用keras做一个回归模型_51CTO博客_keras模型训练

科学网-Python中*和**作用及随机数产生函数 np.random.rand()/numpy.random.unifo...-张伟的博文

python中星号(*),即(*train_x.shape)的用法_*x.shape_漠北尘-Gavin的博客-CSDN博客
python 中的np.zeros()和np.ones()函数_python np.zeros_帅奇奇的博客的博客-CSDN博客

tf.Variable()函数的学习 - 哔哩哔哩

博文(比较全):

TensorFlow2.x(二) ---- 常用函数讲解(创建张量)_ 适合入门学习的最全最细讲解_tf.float32_无涯.的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值