深度学习_4_实战_直线最优解

这篇具有很好参考价值的文章主要介绍了深度学习_4_实战_直线最优解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

梯度
深度学习_4_实战_直线最优解,深度学习,人工智能
深度学习_4_实战_直线最优解,深度学习,人工智能
深度学习_4_实战_直线最优解,深度学习,人工智能

实战

深度学习_4_实战_直线最优解,深度学习,人工智能
深度学习_4_实战_直线最优解,深度学习,人工智能
深度学习_4_实战_直线最优解,深度学习,人工智能
深度学习_4_实战_直线最优解,深度学习,人工智能
深度学习_4_实战_直线最优解,深度学习,人工智能

深度学习_4_实战_直线最优解,深度学习,人工智能

代码:

# %matplotlib inline
import random
import torch
import matplotlib.pyplot as plt
# from d21 import torch as d21

def synthetic_data(w, b, num_examples):
    """生成 Y = XW + b + 噪声。"""
    X = torch.normal(0, 1, (num_examples, len(w)))# 均值为0,方差为1的随机数,n个样本,列数为w的长度
    y = torch.matmul(X, w) + b # y = x * w + b
    y += torch.normal(0, 0.01, y.shape) # 加入随机噪音,均值为0.。形状与y的一样
    return X, y.reshape((-1, 1))# x, y做成列向量返回


true_w = torch.tensor([2, -3.4])
true_b = 4.2
features, labels = synthetic_data(true_w, true_b, 1000)
#读取小批量,输出batch_size的小批量,随机选取
def data_iter(batch_size, features, labels):
    num_examples = len(features)
    indices = list(range(num_examples))#转成list
    random.shuffle(indices)#打乱
    for i in range(0, num_examples, batch_size):#
        batch_indices = torch.tensor(indices[i:min(i + batch_size, num_examples)])#取
    yield features[batch_indices], labels[batch_indices]#不断返回



# #print(features)
# #print(labels)
#
#
batch_size = 10
#
# for x, y in data_iter(batch_size, features,labels):
#      print(x, '\n', y)
#      break
# # 提取第一列特征作为x轴,第二列特征作为y轴
# x = features[:, 1].detach().numpy() #将特征和标签转换为NumPy数组,以便能够在Matplotlib中使用。
# y = labels.detach().numpy()
#
# # 绘制散点图
# plt.scatter(x, y, 1)
# plt.xlabel('Feature 1')
# plt.ylabel('Feature 2')
# plt.title('Synthetic Data')
# plt.show()
#
# #定义初始化模型

w = torch.normal(0, 0.01, size=(2, 1), requires_grad=True)
b = torch.zeros(1, requires_grad = True)

def linreg(x, w, b):
    return torch.matmul(x, w) + b

#定义损失函数

def squared_loss(y_hat, y):
    return (y_hat - y.reshape(y_hat.shape))**2 / 2 #弄成一样的形状

# 定义优化算法
def sgd(params, lr, batch_size):
    """小批量随梯度下降"""
    with torch.no_grad():#节省内存和计算资源。
        for param in params:
            param -= lr * param.grad / batch_size
            param.grad.zero_()#用于清空张量param的梯度信息。

print("训练函数")

lr = 0.03 #学习率
num_ecopchs = 300 #数据扫描三遍
net = linreg #指定模型
loss = squared_loss #损失

for epoch in range(num_ecopchs):#扫描数据
    for x, y in data_iter(batch_size, features, labels): #拿出x, y
      l = loss(net(x, w, b), y)#求损失,预测net,真实y
      l.sum().backward()#算梯度
      sgd([w, b], lr, batch_size)#使用参数的梯度更新参数
    with torch.no_grad():
        train_l = loss(net(features, w, b), labels)
        print(f'epoch {epoch + 1},loss {float(train_l.mean()):f}')


运行效果:

深度学习_4_实战_直线最优解,深度学习,人工智能文章来源地址https://www.toymoban.com/news/detail-721489.html

到了这里,关于深度学习_4_实战_直线最优解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

    《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌ 更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍 感谢小伙伴们点赞、关注! 《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】

    2024年04月13日
    浏览(79)
  • Python人工智能教学之掌握机器学习深度学习并提升实战能力(共72个视频教学+课程资料)云盘下载

    人工智能是未来的发展方向,掌握了人工智能,就掌握了钱图。。。 Python人工智能教学之掌握机器学习深度学习并提升实战能力(共72个视频教学+课程资料) 下载地址: 链接:https://pan.baidu.com/s/1ryJd5PNx1tLDDU-Q6JFXPQ?pwd=n6o8 提取码:n6o8 --来自百度网盘超级会员V2的分享 └─ 批

    2024年04月29日
    浏览(60)
  • 精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型

    精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型。 机器学习 人工智能的核心,是使计算机具有智能的根本途径。机器学习专注于算法,允许机器学习而不需要编程,

    2024年01月25日
    浏览(78)
  • 深度学习实战24-人工智能(Pytorch)搭建transformer模型,真正跑通transformer模型,深刻了解transformer的架构

    大家好,我是微学AI,今天给大家讲述一下人工智能(Pytorch)搭建transformer模型,手动搭建transformer模型,我们知道transformer模型是相对复杂的模型,它是一种利用自注意力机制进行序列建模的深度学习模型。相较于 RNN 和 CNN,transformer 模型更高效、更容易并行化,广泛应用于神

    2023年04月22日
    浏览(64)
  • 人工智能深度学习

    目录 人工智能 深度学习 机器学习 神经网络 机器学习的范围 模式识别 数据挖掘 统计学习 计算机视觉 语音识别 自然语言处理 机器学习的方法 回归算法 神经网络 SVM(支持向量机) 聚类算法 降维算法 推荐算法 其他 机器学习的分类 机器学习模型的评估 机器学习的应用 机

    2024年02月22日
    浏览(58)
  • 人工智能之深度学习

    第一章 人工智能概述 1.1人工智能的概念和历史 1.2人工智能的发展趋势和挑战 1.3人工智能的伦理和社会问题 第二章 数学基础 1.1线性代数 1.2概率与统计 1.3微积分 第三章 监督学习 1.1无监督学习 1.2半监督学习 1.3增强学习 第四章 深度学习 1.1神经网络的基本原理 1.2深度学习的

    2024年02月09日
    浏览(55)
  • 人工智能、机器学习、深度学习的区别

    人工智能涵盖范围最广,它包含了机器学习;而机器学习是人工智能的重要研究内容,它又包含了深度学习。 人工智能是一门以计算机科学为基础,融合了数学、神经学、心理学、控制学等多个科目的交叉学科。 人工智能是一门致力于使计算机能够模拟、模仿人类智能的学

    2024年02月08日
    浏览(56)
  • 机器学习入门教学——人工智能、机器学习、深度学习

    1、人工智能 人工智能相当于人类的代理人,我们现在所接触到的人工智能基本上都是弱AI,主要作用是正确解释从外部获得的数据,并对这些数据加以学习和利用,以便灵活的实现特定目标和任务。 例如: 阿尔法狗、智能汽车 简单来说: 人工智能使机器像人类一样进行感

    2024年02月09日
    浏览(91)
  • 探索人工智能:深度学习、人工智能安全和人工智能编程(文末送书)

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 购书链接,限时特惠5折 这本书是美国

    2024年02月03日
    浏览(119)
  • 一探究竟:人工智能、机器学习、深度学习

    1.1 人工智能是什么?          1956年在美国Dartmounth 大学举办的一场研讨会中提出了人工智能这一概念。人工智能(Artificial Intelligence),简称AI,是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的

    2024年02月17日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包