动手学深度学习 v2.0, 2015) 和神经编程器‐解释器 (Reed and De Freitas, 2015)。它们允许统计建模者描述用于推理的迭代方法。这些工具允许重复修改深度神经网络的内部状 态,从而执行推理链中的后续步骤,类似于处理器如何修改用于计算的存储器。 • 另一个关键的发展是生成对抗网络 (Goodfellow et al., 2014) 的发明。传统模型中,密度估计和生成模 型的统计方法侧重 大小(size)。因为这里在处理的是 一个向量,所以它的shape与它的size相同。 40 2. 预备知识 x.numel() 12 要想改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。例如,可以把张量x从形状为 (12,)的行向量转换为形状为(3,4)的矩阵。这个新的张量包含与转换前相同的值,但是它被看成一个3行4列 的矩阵。要重点说明一下,虽然张量的形状 我们的目标形状是(高度,宽度),那么在 知道宽度后,高度会被自动计算得出,不必我们自己做除法。在上面的例子中,为了获得一个3行的矩阵, 我们手动指定了它有3行和4列。幸运的是,我们可以通过-1来调用此自动计算出维度的功能。即我们可以 用x.reshape(-1,4)或x.reshape(3,-1)来取代x.reshape(3,4)。 有时,我们希望使用全0、全1、其他常量,或者从特定分布中0 码力 | 797 页 | 29.45 MB | 1 年前3
从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱推荐技术 [KDD2020] DCAF: A Dynamic Computation Allocation Framework for Online Serving System � 推荐全链路⾃适应 � 统⼀建模,根据请求量削峰填⾕,资源利⽤最⼤化 [ijcai2021] UNBERT: User-News Matching BERT for News Recommendation GPT-3在CV/NLP⼤⾏其道, 相关技术正在进⼊推荐领域 问题1. 推荐链路的漏⽃ 是对资源的巨⼤浪费 问题2. 结果利⽤ 不充分,响应不 够快 [2021] MC2 -SF: Slow-Fast Learning for Mobile-Cloud Collaborative Recommendation 问题3. ⼏⼗个场 景,独⽴链路 总结 � 千亿级推荐模型应⽤ O1. 千亿级特征(TB级)的模型的在线/离线训练,0 码力 | 22 页 | 6.76 MB | 1 年前3
机器学习课程-温州大学-03深度学习-PyTorch入门clone() 的 requires_grad一致) 常用在神经网络中某个单元需要 重复使用,但不参与求导的场景 下 tensor.detach() 共享 否 常用在神经网络中仅要利用张量 数值,而不需要追踪导数的场景 下 tensor.clone().detach() 新建 否 只做简单的数据复制,既不数据 共享,也不对梯度共享,从此两 个张量无关联。 2. Autograd自动求导 19 2 会 按照逆序,通过Function的backward依次计算梯度。 22 2. Autograd自动求导 backward函数 backward函数是反向传播的入口点,在需要被求导的节点上调用 backward函数会计算梯度值到相应的节点上。 backward函数是反向求导数,使用链式法则求导。 backward需要一个重要的参数grad_tensor,对非标量节点求导,需要指定 gr 的grad属性中。 PyTorch文档中提到,如果grad属性不为空,新计算出来的梯度值会直接加到旧值 上面。 为什么不直接覆盖旧的结果呢? 这是因为有些Tensor可能有多个输出,那么就需要调用多个backward。叠加的处理 方式使得backward不需要考虑之前有没有被计算过导数,只需要加上去就行了,这 使得设计变得更简单。 因此我们用户在反向传播之前,常常需要用zero_grad函数对导数手动清零,确保0 码力 | 40 页 | 1.64 MB | 1 年前3
QCon北京2018-《未来都市--智慧城市与基于深度学习的机器视觉》-陈宇恒AI+智慧城市:以智能安防场景为例 特征向量 AI+智慧城市 2015-2017 l单机、简易分布式人脸检测、跟踪、比对平台 l处理数十路到数百路监控摄像头数据 l千万级别深度学习特征检索 l行业试水 2018-2019 l云原生Cloud-Native超大规模视图存储、处理、检 索 l处理数万到数十万路,城市范围级别监控、门禁摄 像头数据 l10-100 Billion级别深度学习特征检索 - PB以上级别数据库存储 Kubernetes在异构系统调度中的挑战 • Kubernetes版本发布快,新特性更新频繁,对异构调度的支持不断加强;但配套设施落后(e.g. Spark on K8s, GitlabCI) • 容器系统调用栈深,需要仔细验证操作系统,内核及异构设备驱动的兼容性 • Kubernetes对NUMA、异构计算、存储设备的调度能力待加强 1.6 nvidia/gpu custom scheduler gofmt, go lint, race-detector Go语言在高性能系统中的实践经验 • Go在开发高性能应用上也有一些不足, 对比C++: - 无法直接控制操作系统线程,CUDA 调用需要特殊处理 - 部分标准库实现依赖reflect,性能较 差 - GC的带来的开销,如在Go Heap上 构建百万以上级别的对象缓存,需要 仔细优化 百倍慢于等价的C实现! 回顾 •0 码力 | 23 页 | 9.26 MB | 1 年前3
pytorch 入门笔记-03- 神经网络链滴 pytorch 入门笔记 -03- 神经网络 作者:zyk 原文链接:https://ld246.com/article/1639540087993 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 前言 本节主要内容是如何使用 torch.nn 包来构建神经网络。 上一讲已经讲过了 autograd,nn 包依赖 autograd 高 * 宽)。如果你有单个样本,只需使用 input.unsqueeze(0) 来添加其它的维数 在继续之前,我们回顾一下到目前为止用到的类。 回顾: ● torch.Tensor:一个用过自动调用backward() 实现支持自动梯度计算的多维数组 ,并且保存关于 个向量的梯度 w.r.t. ● nn.Module:神经网络模块。封装参数、移动到 GPU 上运行、导出、加载等。 ● nn 定义,每个变量操作至少创建一个函数 点,每一个Tensor 的操作都会创建一个接到创建Tensor 和编码其历史 的函数的Function 节点。 重点如下: ● 定义一个网络 ● 处理输入,调用 backword 还剩: ● 计算损失 ● 更新网络权重 原文链接:pytorch 入门笔记 -03- 神经网络 损失函数 一个损失函数接受一对 (output, target) 作为0 码力 | 7 页 | 370.53 KB | 1 年前3
Keras: 基于 Python 的深度学习库17 3.2.2 例一:全连接网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.3 所有的模型都可调用,就像网络层一样 . . . . . . . . . . . . . . . . . . . . 17 3.2.4 多输入多输出模型 . . . . . . . . . . . . . . . . 让我们先从一些简单的例子开始。 3.2.2 例一:全连接网络 Sequential 模型可能是实现这种网络的一个更好选择,但这个例子能够帮助我们进行一些 简单的理解。 • 网络层的实例是可调用的,它以张量为参数,并且返回一个张量 • 输入和输出均为张量,它们都可以用来定义一个模型(Model) • 这样的模型同 Keras 的 Sequential 模型一样,都可以被训练 from import Input, Dense from keras.models import Model # 这部分返回一个张量 inputs = Input(shape=(784,)) # 层的实例是可调用的,它以张量为参数,并且返回一个张量 x = Dense(64, activation='relu')(inputs) x = Dense(64, activation='relu')(x) predictions0 码力 | 257 页 | 1.19 MB | 1 年前3
Chatbots 中对话式交互系统的分析与应用Task-Bot: task-oriented bot 用户 语音合成 (TTS) 语言产生 (NLG) 语音识别 (ASR) 语言理解 (SLU) 策略优化 (DPO) 状态追踪 (DST) inform(order_op=预订, restaurant_name=云海肴, subbranch=中关村店) request(phone, name) 理解模块 对话管理 DSTC3中定义的部分动作类别 语言理解 (SLU) Steve Young (2016) 状态追踪 Dialogue State Tracking (DST) • 对话状态应该包含持续对话所需要的各种信息 • DST问题:依据最新的系统和用户动作,更新对话状态 • Q:如何表示对话状态 状态追踪 (DST) 旧状态 用户动作 系统动作 新状态 策略优化 Dialogue Policy0 码力 | 39 页 | 2.24 MB | 1 年前3
【PyTorch深度学习-龙龙老师】-测试版202112执行的桥梁,是 Python 语言 的核心软件。用户可以从 https://www.python.org/网站下载最新版本(Python 3.7)的解释器, 像普通的应用软件一样安装完成后,就可以调用 python.exe 程序执行 Python 语言编写的源 代码文件(.py 格式)。 这里选择安装集成了 Python 解释器和虚拟环境等一系列辅助功能的 Anaconda 软件, 用户通过安装 最新版本的下载链接即可下载,下载完成后安 装即可进入安装程序。如图 1.22 所示,勾选”Add Anaconda to my PATH environment variable”一项,这样可以通过命令行方式调用 Anaconda 程序。如图 1.23 所示,安装程序 询问是否连带安装 VS Code 软件,选择 Skip 即可。整个安装流程约持续 5 分钟,具体时间 预览版202112 第 1 章 人工智能绪论 对象,方便以批量形式训练,随机打乱顺序 train_loader=torch.utils.data.DataLoader(train_db, batch_size=batch_size, sh uffle=True) 通过调用 torchvision.datasets.MNIST 函数可以方便地读取 MNIST 数据集,通过 train=True 选择生成训练集还是测试机。其中训练集?的大小为(60000,28,28),代表了0 码力 | 439 页 | 29.91 MB | 1 年前3
全连接神经网络实战. pytorch 版的 Dataset 类型的。 参数 transf orm 表示导出的数据应该怎么转换,我们还可以使用参数 target_transf orm 表 示导出的数据标签应该怎么转换。 注意显示时我们调用了 squeeze() 函数,这是因为原来的数据维度是 (1,28,28) 的三维数据, 使用.squeeze() 函数可以把为 1 的维度去掉,即 shape 变为 (28,28)。程序得到显示结果: (1.2.1) [0 1 0] (1.2.2) [0 0 1] (1.2.3) Lambda 函数就是应用用户定义的 lambda 函数,首先使用 zeros 函数创建一个 10 维数组, 然后调用.scatter 函数为每个向量的第 label 个索引赋值为 1。 由于 pytorch 的网络训练会自动帮你进行转换,所以我们不需要自己去操作,因此并不需要 设置 target_transf () Chapter 3. 更完善的神经网络 17 注意 bias 是权重,因为当前层的 bias 会连接下一层的每个神经元,所以 bias 的 shape 是下 一层神经元个数。调用也很简单,定义网络对象后直接调用即可: model = NeuralNetwork () . to ( device ) model . weight_init () 我们开始训练,发现第一个 epoch 训练的结果正确率就达到了0 码力 | 29 页 | 1.40 MB | 1 年前3
PyTorch OpenVINO 开发实战系列教程第一篇tensor([3, 2]) 运行结果的第一行对应是声明的张量 x 的维度信息、第二行是 调用 transpose 方法完成通道交换之后 x 输出的维度信息;第 三行是针对 x 调用 argmax 得到最大值对应索引(12 对应索 引值为 3)、第四行是进行维度变换之后针对二维数据(2x4) 的第二个维度调用 argmax 得到的输出,分别是 12 与 8 对应 的索引值 [3,2]。 ●0 码力 | 13 页 | 5.99 MB | 1 年前3
共 18 条
- 1
- 2













