首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Livinfly

    学习笔记】动手深度学习

    conda create -n d2l-zh python=3.8 # 建立名字为d2l-zh的环境 conda activate d2l-zh # 激活刚刚创建的环境 # 下载需要的包 (下载比较慢可以加上国内源 .d2l.ai/d2l-zh.zip unzip d2l-zh.zip jupyter notebook 数据操作 import torch # 张量 x = torch.arange(12) x 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]]]) tensor([[[2, 1, 4, 3], [1, 2, 3, 4], [4, 3 , 2, 1]]]) torch.tensor([[[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]]]).shape torch.Size([1, 3, 4]) # 计算 x = torch.tensor([1.0, 2, 4, 8]) y = torch.tensor([2, 2, 2, 3]) x+y, x-y, x*y, x/y, x**y (tensor([ 3

    67130编辑于 2023-04-01
  • 来自专栏JavaPark

    动手深度学习学习笔记

    深度学习简介 定义以及与机器学习的关系 深度学习是指机器学习中的一类函数,能够逐级表示越来越抽象的概念或模式,他们的形式通常为多层神经网络,近年来,已逐渐成为处理图像、文本预料和声音信号等复杂高纬度数据的主要方法 ,属于机器学习的一类,外在特点是端到端的训练; 机器学习研究如何使计算机利用经验提高性能,属于人工智能领域的分支,也是实现人工智能的一种手段; 神经网络核心原则 交替使用现行和非线性处理单元,常被称为 “层”; 使用链式法则(即反向传播)来更新网络参数; 深度学习发展的原因 优秀的容量控制方法,如丢弃法使大型网络的训练不再受制于过拟合(大型神经玩两个学会记忆大部分训练数据的行为); 注意力机制解决了 如何在不增加参数的情况下扩展一个系统的记忆容量和复杂度”问题; 记忆网络和神经编码器-解释器这样的多阶设计使针对推理过程的迭代建模方法的实现变成可能; 对抗生成网络的发明奖采样部分替换成了任意的含有可微分参数的算法; 2. 深度学习基础 这一章节中,主要有以下相关知识点: 线性回归 详情请参见深度学习之线性回归; Softmax回归 详情请参见深度学习之Softmax; 多层感知机 详情请参见多层感知机

    70120发布于 2019-09-09
  • 来自专栏JavaPark

    动手深度学习-数据操作

    本文链接:https://blog.csdn.net/github_39655029/article/details/89151587 作为深度学习的基础,我们常会频繁对数据进行操作,以下则是介绍如何对内存中的数据进行常用操作的相关代码 numOfElement) # 改变行向量形状 newRowX = rowX.reshape((3,4)) print(newRowX) # 创建元素全为0的张量 tensor0 = nd.zeros((2, NDArray按元素运算时,触发广播机制:先适当复制元素是得NDArray形状相同后再按照元素运算 """ A = nd.arange(3).reshape((3,1)) B = nd.arange(2) .reshape((1,2)) print('A + B', A + B) """" 索引 """ # 截取范围 print(newRowX[1:3]) # 访问单个元素 print(newRowX [2,3]) newRowX[2, 3] = 15 print(newRowX[2,3]) print(newRowX) newRowX[1:2, :] = 10 print(newRowX) """

    79020发布于 2019-09-09
  • 来自专栏拇指笔记

    动手深度学习】笔记一

    name转换为numpy数组并存储到name1中 name1 = torch.from_numpy(name) 将name转换为Tensor数组并存储到name1中 自动求梯度(autograd) 动手学习深度学习 ,2.3 2020.1.28,好久没学习,今天开始学习深度学习过程中,常需要对函数进行求梯度,PyTorch提供的autograd包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。 import torchx = torch.ones(2,2,requires_grad = True) y = x + 2 z = y * y * 3 out = z.mean() #求取均值 out.backward import torch x = torch.tensor([1.0,2.0,3.0,4.0],requires_grad = True)y = x * 2z = y.view(2,2)

    1.5K20发布于 2020-08-19
  • 来自专栏算法channel

    动手深度学习》Pytorch版开源!

    机器之心报道 项目作者:ShusenTang 参与:思 想要入门最前沿的深度学习,想要玩最常见的深度学习框架?那就用 PyTorch 版的《动手深度学习》吧,零基础也能入门 DL。 李沐等人的开源中文书《动手深度学习》现在有 PyTorch 版实现了。不论是原书中的示例代码,还是实战项目,原来的 MXNet 都可以无缝转化到 PyTorch 代码。 之前,亚马逊首席科学家李沐等人曾以电子版的形式在 GitHub 上开源了一本深度学习中文书籍——《动手深度学习》,这是一本深度学习的入门教程类书籍。 最后,《动手深度学习》与 PyTorch 也是非常好的搭档,也就是说我们不需要任何机器学习深度学习背景知识,只需要了解基本数学与 Python 编程就可以了。 从 MXNet 到 PyTorch 这样看起来可能不太直观,我们可以通过两个案例看看原版《动手深度学习》随书代码和 PyTorch 版之间的区别。

    1.5K30发布于 2019-12-30
  • 来自专栏机器学习算法与Python学习

    中文教程《动手深度学习

    作为一名新手如何能够快速上手深度学习,在实践中使用深度学习呢?《动手深度学习》是由亚马逊首席科学家、美国卡内基梅隆大学计算机博士李沐等人编著,带你从浅至深实践深度学习。 教程的目录以及学习路线: ? 目录如下: ? ? ? ?

    92530发布于 2018-12-21
  • 来自专栏自然语言处理

    动手深度学习(六) 凸优化

    优化与深度学习 优化与估计 尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。 优化方法目标:训练集损失函数值 深度学习目标:测试集损失函数值(泛化性) %matplotlib inline import sys sys.path.append('/home/kesci/input 优化在深度学习中的挑战 局部最小值 鞍点 梯度消失 局部最小值 ? e.g. x, y = np.mgrid[-1: 1: 31j, -1: 1: 31j] z = x**2 - y**2 d2l.set_figsize((6, 4)) ax = d2l.plt.figure ([-1.5, 1]) d2l.set_figsize((3.5, 2.5)) fig_x, = d2l.plt.plot(x, f(x)) fig_axb, = d2l.plt.plot(axb,

    98010发布于 2020-02-25
  • 来自专栏Blog for ClancyCC

    动手深度学习安装环境配置

    本文章基于李沐老师的《动手深度学习》(pytorch版),在此学习观礼膜拜。 课程主页:https://courses.d2l.ai/zh-v2 教材: https://zh-v2.d2l.ai/ 课程论坛讨论:https://discuss.d2l.ai/c/16Pytorch 论坛: https://discuss.pytorch.org/ 深度学习介绍 当前深度学习和机器学习(在数学上的)的可解释性不是很好,更多地将其认定为黑盒,在等待更好的学术进展。 最好把文件夹名称设为d2l-zh。地址为 https://zh.d2l.ai/d2l-zh-1.0.zip 。 使用命令行打开anaconda,这一步容易出错。 我推荐文章《CSDN博主「阿雪_」:跟李沐AI 动手深度学习 环境配置d2l、pytorch的安装 (windows环境、python版本3.7)》。 使用conda创建虚拟环境并激活。

    2.9K30编辑于 2023-02-09
  • 来自专栏SnailTyan

    动手深度学习(一)——基本介绍

    第一课:从上手到多类分类 课程首先介绍了深度学习的很多应用:例如增强学习、物体识别、语音识别、机器翻译、推荐系统、广告点击预测等。 课程目的:通过动手实现来理解深度学习,跟工业界应用相比,主要只是数据规模和模型复杂度的区别。 深度学习的轮子很多,例如Caffe,TensorFlow,mxnet,PyTorch,CNTK等。 它们之间的主要区别在于:1.便利的开发;2.方便的部署。 ? mxnet之上的一个package是Gluon,主要目的是一次解决开发和部署。课程主要分为以下三个部分: ? 1. ,[2,3]]) y = nd.random_normal(0, 1, shape=(3, 4)) # 查看矩阵大小 y.shape # 查看矩阵元素个数 y.size # 矩阵加法 x + y .reshape((1,2)) print('a:', a) print('b:', b) print('a+b:', a+b) # NDArray与Numpy的转换 import numpy as

    91610发布于 2019-05-25
  • 来自专栏自然语言处理

    动手深度学习(一) 线性回归

    然而,大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical solution)。 在求数值解的优化算法中,小批量随机梯度下降(mini-batch stochastic gradient descent)在深度学习中被广泛使用。 学习率: ? 代表在每次优化中,能够学习的步长的大小 批量大小: ? def squared_loss(y_hat, y): return (y_hat - y.view(y_hat.size())) ** 2 / 2 定义优化函数 在这里优化函数使用的是小批量随机梯度下降 num_inputs = 2 num_examples = 1000 true_w = [2, -3.4] true_b = 4.2 features = torch.tensor(np.random.normal

    79220发布于 2020-02-24
  • 来自专栏自然语言处理

    动手深度学习(七) 梯度下降

    学习率 show_trace(gd(0.05)) epoch 10, x: 3.4867844009999995 ? eta = 0.1 def f_2d(x1, x2): # 目标函数 return x1 ** 2 + 2 * x2 ** 2 def gd_2d(x1, x2): return (x1 - eta * 2 * x1, x2 - eta * 4 * x2) show_trace_2d(f_2d, train_2d(gd_2d)) epoch 20, x1 -0.057646, def f(x1, x2): return x1 ** 2 + 2 * x2 ** 2 # Objective def gradf(x1, x2): return (2 * x1, 动态学习率 ?

    73710发布于 2020-02-25
  • 来自专栏SnailTyan

    动手深度学习——丢弃法(gluon)

    accuracy, evaluate_accuracy 定义模型并添加丢弃层 # 定义模型 net = nn.Sequential() # 丢弃概率 drop_prob1 = 0.2 drop_prob2 # 第二个全连接层 net.add(nn.Dense(256, activation="relu")) # 添加丢弃层 net.add(nn.Dropout(drop_prob2) Loss: 0.515098, Train acc 0.810831, Test acc 0.847456 Epoch 2.

    80010发布于 2019-05-25
  • 来自专栏SnailTyan

    动手深度学习(三)——丢弃法

    <NDArray 5x4 @cpu(0)> 丢弃法的本质 一般来说,在集成学习里,我们可以对训练数据集有放回地采样若干次并分别训练若干个不同的分类器;测试时,把这些分类器的结果集成一下作为最终分类结果。 事实上,丢弃法在模拟集成学习。丢弃法实质上是对每一个这样的数据集分别训练一个原神经网络子集的分类器。与一般的集成学习不同,这里每个原神经网络子集的分类器用的是同一套参数。因此丢弃法只是在模拟集成学习。 = nd.random_normal(shape=(num_hidden1, num_hidden2), scale=weight_scale) # 第二个隐藏层偏置 b2 = nd.zeros(num_hidden2 = nd.relu(nd.dot(h1, W2) + b2) # 在第二层全连接后添加丢弃层 h2 = dropout(h2, drop_prob2) # 返回输出 return nd.dot(h2, W3) + b3 训练 # 定义交叉熵损失 softmax_cross_entropy = gluon.loss.SoftmaxCrossEntropyLoss() # 定义学习

    87410发布于 2019-05-25
  • 来自专栏SnailTyan

    动手深度学习(一)——逻辑回归(gluon)

    Quincuntial/article/details/79348854 文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 注:本文为李沐大神的《动手深度学习 # 导入mxnet import mxnet as mx # 设置随机种子 mx.random.seed(2) from mxnet import gluon from mxnet import ndarray Loss: 0.575076, Train acc 0.809879, Test acc 0.820112 Epoch 2.

    68210发布于 2019-05-25
  • 来自专栏第一专栏

    动手DL——深度学习预备知识随笔【深度学习】【PyTorch】

    2., 2., 2.], [2., 2., 2., 2.], [2., 2., 2., 2.], [2., 2., 2., 2.], [2., 2., 2., 2.]]])) ||a||_2 =[\sum_{i=1}^ma_i^2]^{\frac{1}{2}} 下面是计算张量的2范数|F范数【Frobenius范数】: torch.norm(torch.ones((4,9)) 求导和反向传播:计算图可以帮助自动计算函数的导数,特别是在深度学习中的反向传播算法中。通过在计算图中计算每个节点的梯度,可以从输出端反向传播梯度到输入端,以便优化模型的参数。 z = u *x z.sum().backward() x.grad == u tensor([True, True, True, True]) 2.4、基础优化方法 梯度计算往往是深度学习中成本最贵的 小批量随机梯度下降是深度学习默认的求解方法。 两个重要的超参数是 批量大小和学习率。

    96720编辑于 2023-07-24
  • 来自专栏CVer

    重磅 | 《动手深度学习》 0.7版发布

    前戏 关于《动手深度学习》 学过或正在学习MXNet框架的同学,一定很熟悉《动手深度学习》这个课程。该课程算是第一个最硬国语版讲解深度学习的课程(从理论到实战)。 在线文档 离线文档 论坛 免费视频讲解(B站/斗鱼满足你) GitHub开源代码和文档 《动手深度学习》这是一个深度学习的教学项目。 ——摘自《动手深度学习》在线文档 这里粗暴po几张图 在线文档 link: http://zh.gluon.ai/ ? 今天Amusi在朋友圈看到一朋友发了"《动手深度学习》0.7版发布,欢迎指正"的链接。讲真,起了一身鸡皮疙瘩,虽然Amusi还没有入MXNet这个坑,但也垂涎已久,我想将来迟早有个约会。 下面正式简单介绍《动手深度学习》0.7版本 《动手深度学习》0.7版本 李沐: 历经五个月将整个教程重写了一遍,希望能达到出版质量。

    61700发布于 2018-08-08
  • 来自专栏机器学习-大数据

    动手深度学习--基础知识上篇

    动手deep learning ☁️本专栏会定期更新关于动手深度学习的每章知识点的讲解,题目答案 如果喜欢,欢迎点赞,收藏 动手深度学习-预备知识篇 线性代数篇 1-3题讲解 证明一个矩阵 X2 = tc.arange(24).reshape(4,2,-1) #轴度为3 print(len(X2)) W = tc.zeros(30) #轴度为1 print(len( ) (2,3,4) 的张量,在轴0、1、2上的求和输出是什么形状? ) W2 = tc.arange(36,dtype = torch.float32).reshape(6,6) print(tc.norm(W2) == sqrt((W2*W2).sum(axis = [0,1]))) print(sum(sum(W2*W2))) print((W2*W2).sum(axis = [0,1])) 运行结果 下篇预备知识: 1.微分实现绘画切线 2.详解微分函数实现过程

    53820编辑于 2023-10-16
  • 来自专栏SnailTyan

    动手深度学习(一)——线性回归(gluon)

    Quincuntial/article/details/79273631 文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 注:本文为李沐大神的《动手深度学习 from mxnet import ndarray as nd # 设置随机种子 mx.random.seed(1) random.seed(1) # 训练数据的维度 num_inputs = 2 # 训练数据的样本数量 num_examples = 1000 # 实际的权重w true_w = [2, -3.4] # 实际的偏置b true_b = 4.2 # 随机生成均值为0, 方差为 highlight=gluon.nn.sequential#mxnet.gluon.nn.Sequential L2Loss https://mxnet.incubator.apache.org/ highlight=l2loss#mxnet.gluon.loss.L2Loss Trainer https://mxnet.incubator.apache.org/api/python/gluon

    66410发布于 2019-05-25
  • 来自专栏拇指笔记

    动手深度学习笔记】之线性回归

    线性回归是单层神经网络,设计的概念和技术适用于大多数深度学习模型;因此,我们以线性回归为例,学习深度学习模型的基本要素和表示方法。 建立输入X1和X2来计算输出y的表达式。 线性关系为: 其中 W1和W2是权重,b是偏差,这三个变量都是标量,他们是线性回归模型的参数。模型的输出y是对真实值的预测或估计,与真实值存在一定误差。 线性回归模型的房屋价格预测表达式为 (2)损失函数 深度学习过程中需要衡量价格预测值与真实值之间的误差。通常会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 首先是对损失函数进行求导 然后求小批量对应的损失函数的导数的平均值,最后乘以学习率,得到减小量 根据减小量得到迭代后的w1、w2、b 模型预测 确定训练完成后,将模型参数再优化算法停止时的值分别记作 神经网络图 深度学习中,我们使用神经网络图直观地表现模型结构。 该图使用神经网络图表示本届中介绍的线性回归网络,倒数隐去了权重和偏差。 输入个数也叫做特征数或特征向量维度。

    83030发布于 2020-08-20
  • 来自专栏自然语言处理

    动手深度学习(三) 多层感知机

    多层感知机 多层感知机的基本知识 使用多层感知机图像分类的从零开始的实现 使用pytorch的简洁实现 多层感知机的基本知识 深度学习主要关注多层模型。 as d2l print(torch. as d2l print(torch. (num_outputs, dtype=torch.float) params = [W1, b1, W2, b2] for param in params: param.requires_grad as d2l print(torch.

    1.4K30发布于 2020-02-24
领券