IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【动手学深度】线性回归的简介实现 -> 正文阅读

[人工智能]【动手学深度】线性回归的简介实现

通过使用框架来实现线性模型

import torch
import numpy as np
from torch.utils import data
import sys
sys.path.append("E:\ANaconda\envs\pytroch_env\Lib\site-packages")
from d2l import torch as d2l

true_w=torch.tensor([2,-3.4])
ture_b=4.2

features,lables=d2l.synthetic_data(true_w,true_b,1000)

调用框架中现有的API(接口)来读取数据,每次随机抓取十个数据

def load_array(data_arrays,batch_size,is_train=True):
    '''构造一个pytorch数据迭代器'''
    dataset=data.TensorDataset(*data_arrays)                  #*号可以表示list中的各个数据
    return data.DataLoader(dataset,batch_size,shuffle=is_train)      #每次随机挑选batch_size个样本出来,打乱顺序
batch_size=10
data_iter=load_array((features,lables),batch_size)

next(iter(data_iter))      #next() 返回迭代器的下一个项目。next() 函数要和生成迭代器的 iter() 函数一起使用。

使用框架预定义好的层

from torch import nn    #神经网络的缩写

net=nn.Sequential(nn.Linear(2,1))  #输入维度输出维度  线性层或全连接层    ,Sequential 可以理解为list of layers


#初始化参数权重
net[0].weight.data.normal_(0,0.01)
net[0].bias.data.fill_(0)

使用均方误差和实例SGD

loss=nn.MSELoss()
trainer=torch.optim.SGD(net.parameters(),lr=0.03)  #parameters表示所有模块数据[w,b]

开始训练

num_epochs=3
for epoch in range(num_epochs):
    for x,y in data_iter:
        l=loss(net(x),y)           #net中已经包含了w,b的参数
        trainer.zero_grad()
        l.backward()                     #torch已经帮忙做了sum了,可以直接backward
        trainer.step()                #优化更新模型
    l=loss(net(features),lables)
    print('epoch %d,loss %f'%(epoch+1,l.mean()))

框架让代码更简洁

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:31:30  更:2021-10-11 17:33:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:41:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码