当前位置: 首页 > news >正文

网站开发的职业目标山东天元集团有限公司

网站开发的职业目标,山东天元集团有限公司,化工外贸网站建设,国家在线观看免费视频使用Tensor及Antograd实现机器学习 2.6节可以说是纯手工完成一个机器学习任务,数据用Numpy表示,梯度及学习是自 己定义并构建学习模型。这种方法适合于比较简单的情况,如果稍微复杂一些,代码量将 几何级增加。那是否有更方便的方法…

使用Tensor及Antograd实现机器学习

2.6节可以说是纯手工完成一个机器学习任务,数据用Numpy表示,梯度及学习是自
己定义并构建学习模型。这种方法适合于比较简单的情况,如果稍微复杂一些,代码量将
几何级增加。那是否有更方便的方法呢?本节我们将使用PyTorch的一个自动求导的包
——antograd,利用这个包及对应的Tensor,便可利用自动反向传播来求梯度,无须手工
计算梯度。以下是具体实现代码。

1)导入需要的库。

2)生成训练数据,并可视化数据分布情况。

import torch as t
from matplotlib import pyplot as pltt.manual_seed(10)
dytpe=t.float
#生成x坐标数据,x为tensor,需要把x的形状转换为100x1
x=t.unsqueeze(t.linspace(-1,1,100),dim=1)
#生成y坐标数据,y为tensor,形状为100x1,另加上一些噪声
y=3*x.pow(2)+2+0.2*t.rand(x.size())#画图,把tensor数据转换为numpy数据
plt.scatter(x.numpy(),y.numpy())
plt.show()

运行结果:

image

3)初始化权重参数。

# 随机初始化参数,参数w、b为需要学习的,故需requires_grad=True
w = t.randn(1,1, dtype=dtype,requires_grad=True)
b = t.zeros(1,1, dtype=dtype, requires_grad=True)

4)训练模型。

lr =0.001 # 学习率
for ii in range(800):
# 前向传播,并定义损失函数loss
y_pred = x.pow(2).mm(w) + b
loss = 0.5 * (y_pred - y) ** 2
loss = loss.sum()
# 自动计算梯度,梯度存放在grad属性中
loss.backward()
# 手动更新参数,需要用torch.no_grad(),使上下文环境中切断自动求导的计算
with t.no_grad():
w -= lr * w.grad
b -= lr * b.grad
# 梯度清零
w.grad.zero_()
b.grad.zero_()

5)可视化训练结果。

plt.plot(x.numpy(), y_pred.detach().numpy(),'r-',label='predict')#predict
plt.scatter(x.numpy(), y.numpy(),color='blue',marker='o',label='true') # true data
plt.xlim(-1,1)
plt.ylim(2,6)
plt.legend()
plt.show()
print(w, b)

完整代码

import torch as t
from matplotlib import pyplot as plt
import os
os.environ['KMP_DUPLICATE_LIB_OK']  = 'TRUE'  # 允许重复加载OpenMP
os.environ['OMP_NUM_THREADS']  = '1'  # 限制OpenMP线程数t.manual_seed(10)
dtype=t.float
#生成x坐标数据,x为tensor,需要把x的形状转换为100x1
x=t.unsqueeze(t.linspace(-1,1,100),dim=1)
#生成y坐标数据,y为tensor,形状为100x1,另加上一些噪声
y=3*x.pow(2)+2+0.2*t.rand(x.size())#画图,把tensor数据转换为numpy数据
#plt.scatter(x.numpy(),y.numpy())
#plt.show()#随机初始化参数,参数w.b为需要学习的,故需requires_grad=True
w=t.randn(1,1,dtype=dtype,requires_grad=True)
b=t.zeros(1,1,dtype=dtype,requires_grad=True)#训练模型
lr=0.001 #学习率for ii in range(800):#前向传播,并定义损失函数lossy_pred=x.pow(2).mm(w)+bloss=0.5*(y_pred-y)**2loss=loss.sum()#自动计算梯度,梯度存放在grad属性中loss.backward()#手动更新参数,需要用torch.no_grad(),使上下文环境中切断自动求导的计算with t.no_grad():w-=lr*w.gradb-=lr*b.grad# 梯度清零w.grad.zero_()b.grad.zero_()#可视化训练结果plt.plot(x.numpy(),y_pred.detach().numpy(),'r-',label='predict')#predictplt.scatter(x.numpy(),y.numpy(),color='blue',marker='o',label='true')#true dataplt.xlim(-1,1)plt.ylim(2,6)plt.legend()plt.show()print(w,b)

运行结果

image

http://www.dtcms.com/a/608361.html

相关文章:

  • 呼和浩特建站凡客建站
  • 如何创建网站教程杭州公司注册代理中介
  • 网站制作软件下载wordpress留言板设置
  • 国内比较好的软文网站frontpage导入网站
  • 网站建设市场推广招聘中国经济网人事
  • 网站登录界面模板可以做区块链推广的网站
  • 宁波网站开发公司怎么样全国精品课程建设网站
  • 室内设计毕业设计代做网站工作服定做工厂
  • 监控安防的网站怎么做西安网络科技有限公司有哪些
  • 阿里巴巴的网站建设衡水seo网站建设优化排名
  • 怎样进网站空间服务器哈尔滨服务最好的网站优化公司
  • 游戏网站开发名字接做网站需要问什么条件
  • 哪个网站可以卖自己做的模型怎样上百度做广告
  • 校园网站集群建设网站开发工程师的工作内容
  • wordpress 搬家 sae前端seo主要优化哪些
  • 怎样把网站做的好看厦门网站排名优化费用
  • 做关于车的网站好文化建设的具体措施
  • 南京哪家做电商网站返利网app网站开发
  • 国外网站平台有哪些广西远昌建设公司
  • 做设计兼职的网站有哪些工作wordpress 集赞系统
  • 南昌网站建设行情怎样找到正规代加工网站
  • asp 网站访问统计wordpress 评论头像
  • 广州 骏域网站建设微网站设计基本要求
  • 兰州网站排名哪家公司好金泉网网站建设
  • 宁波网站推广宣传常宁网页设计
  • 用一部手机制作网站建销售网站需要多少钱
  • 网站图片移动怎么做石家庄热搜
  • 网站建设案例收费吗网站策划岗位要求
  • 公司网站开发策略和基本步骤深圳家具定制
  • 网站推广手段有哪些温州网约车哪个平台最好