Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

动手学深度学习(PyTorch版)_文字版 PDF 下载


分享到:
时间:2023-11-02 09:05来源:http://www.java1234.com 作者:转载  侵权举报
动手学深度学习(PyTorch版)_文字版
失效链接处理
动手学深度学习(PyTorch版)_文字版 PDF 下载 



 
 
 
相关截图:
 


主要内容:


在训练了预先确定的若⼲迭代次数后(或者直到满⾜某些其他停⽌条件后),我们记录下模型参数的估计值,
表⽰为
ˆ
w
ˆ
b。但是,即使我们的函数确实是线性的且⽆噪声,这些估计值也不会使损失函数真正地达到最⼩
值。因为算法会使得损失向最⼩值缓慢收敛,但却不能在有限的步数内⾮常精确地达到最⼩值。
线性回归恰好是⼀个在整个域中只有⼀个最⼩值的学习问题。但是对像深度神经⽹络这样复杂的模型来说,
损失平⾯上通常包含多个最⼩值。深度学习实践者很少会去花费⼤⼒⽓寻找这样⼀组参数,使得在训练集上
的损失达到最⼩。事实上,更难做到的是找到⼀组参数,这组参数能够在我们从未⻅过的数据上实现较低的
损失,这⼀挑战被称为泛化(generalization)。
⽤模型进⾏预测
给定“已学习”的线性回归模型
ˆ
w
+ ˆ
b,现在我们可以通过房屋⾯积x1和房龄x2来估计⼀个(未包含在训
练数据中的)新房屋价格。给定特征估计⽬标的过程通常称为预测(prediction)或推断(inference)。
本书将尝试坚持使⽤预测这个词。虽然推断这个词已经成为深度学习的标准术语,但其实推断这个词有些⽤
词不当。在统计学中,推断更多地表⽰基于数据集估计参数。当深度学习从业者与统计学家交谈时,术语的
误⽤经常导致⼀些误解。
 
3.1.2 ⽮量化加速
在训练我们的模型时,我们经常希望能够同时处理整个⼩批量的样本。为了实现这⼀点,需要我们对计算进
⾏⽮量化,从⽽利⽤线性代数库,⽽不是在Python中编写开销⾼昂的for循环。
%matplotlib inline
import math
import time
import numpy as np
import torch
from d2l import torch as d2l
为了说明⽮量化为什么如此重要,我们考虑对向量相加的两种⽅法。我们实例化两个全为110000维向量。
在⼀种⽅法中,我们将使⽤Pythonfor循环遍历向量;在另⼀种⽅法中,我们将依赖对+的调⽤。
10000
torch.ones([n])
torch.ones([n])

3.1. 线性回归
89由于在本书中我们将频繁地进⾏运⾏时间的基准测试,所以我们定义⼀个计时器:
class Timer:
#@save
"""记录多次运⾏时间"""
def __init__(self):
self.times []
self.start()
def start(self):
"""启动计时器"""
self.tik time.time()
def stop(self):
"""停⽌计时器并将时间记录在列表中"""
self.times.append(time.time() self.tik)
return self.times[-1]
def avg(self):
"""返回平均时间"""
return sum(self.times) len(self.times)
def sum(self):
"""返回时间总和"""
return sum(self.times)
def cumsum(self):
"""返回累计时间"""
return np.array(self.times).cumsum().tolist()


 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐