栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

《PyTorch深度学习实践》第3讲

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

《PyTorch深度学习实践》第3讲

目录
  • 知识点
  • 课件代码

知识点
  1. 梯度下降法在计算梯度的时候可以计算梯度的平均值后再更新w,但是不容易取到全局最小值。
  2. 在计算梯度的时候可以对每一个点都计算梯度,然后对每一个点都更新w,尽量避免只取到局部最小值的情况。
课件代码
import numpy as np
import matplotlib.pyplot as plt

xData = [1.0, 2.0, 3.0]
yData = [2.0, 4.0, 6.0]

w = 0

def forecast(x : float) -> float:
    return x * w

# calculate cost
def cost(xs : list, ys : list) -> float:
    cost = 0
    for x, y in zip(xs, ys):
        yPred = forecast(x)
        cost += (yPred - y) ** 2

    return cost / len(xs)

# calculate average gradient
def gradient(xs : list, ys : list) -> float:
    grad = 0
    for x, y in zip(xs, ys):
        grad += 2 * x * (x * w - y)

    return grad / len(xs)

for epoch in range(100):
    costVal = cost(xData, yData)
    gradVal = gradient(xData, yData)

    # parameter = 0.01
    w -= 0.01 * gradVal

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/951711.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号