当前位置: 首页 > news >正文

陕西网站建设维护天眼查河南建设网站公司

陕西网站建设维护,天眼查河南建设网站公司,郑州网站推广优化报价,辽源市住房和城乡建设局网站关于 Pytorch #xff0c;我之前分享过很多篇#xff0c;喜欢的可以收藏、关注、点赞。 这一次#xff0c;我准备了 20节 PyTorch 中文课程小白学 PyTorch 系列#xff1a;54个超强 pytorch 操作9个技巧让你的 PyTorch 模型训练飞快#xff01;Keras 3.0发布#xff1a;…关于 Pytorch 我之前分享过很多篇喜欢的可以收藏、关注、点赞。 这一次我准备了 20节 PyTorch 中文课程小白学 PyTorch 系列54个超强 pytorch 操作9个技巧让你的 PyTorch 模型训练飞快Keras 3.0发布全面拥抱 PyTorchPyTorch 进阶指南10个必须知道的原则 至于为什么今年这么重视 Pytorch 熟悉大模型、算法的小伙伴都应该知道。大部分的大模型开发语言都是Pytorch。废话不多说。转入正题。 在某些情况下你可能需要使用 PyTorch 进行一些高级的索引和选择操作例如回答这样的问题“如何根据张量B中指定的索引来从张量A中选择元素” 在本文中我们将介绍三种最常见的用于此类任务的方法即torch.index_select、torch.gather和torch.take。我们将详细解释它们并对它们进行对比。 技术交流 技术要学会交流、分享不建议闭门造车。独学而无有友则孤陋而寡闻 好的文章离不开朋友的分享、推荐记得点赞支持一下。资料干货、技术答疑、数据源码均可加交流群获取群友已超过2000人添加时最好的备注方式为来源兴趣方向方便找到志同道合的朋友。 方式①、微信搜索公众号Python学习与数据挖掘后台回复交流 方式②、添加微信号dkl88194备注交流 torch.index_select torch.index_select沿着一个维度选择元素同时保持其他维度不变。也就是说保留所有其他维度的所有元素但是按照索引张量从目标维度中选择元素。让我们用一个2D示例来演示在该示例中我们沿着维度1进行选择 num_picks 2values torch.rand((len_dim_0, len_dim_1)) indices torch.randint(0, len_dim_1, size(num_picks,)) # [len_dim_0, num_picks] picked torch.index_select(values, 1, indices)结果张量的形状为[len_dim_0, num_picks]沿着维度0的每个元素我们从维度1中选择了相同的元素。让我们将其可视化 现在我们转向三维空间。为此我们更贴近机器学习/数据科学的世界想象一个形状为[batch_size, num_elements, num_features]的张量因此我们有num_elements个元素每个元素具有num_feature个特征并且所有内容都被批处理了。使用torch.index_select我们可以为每个批次/特征组合选择相同的元素 import torchbatch_size 16 num_elements 64 num_features 1024 num_picks 2values torch.rand((batch_size, num_elements, num_features)) indices torch.randint(0, num_elements, size(num_picks,)) # [batch_size, num_picks, num_features] picked torch.index_select(values, 1, indices)有些人可能希望以代码形式了解index_select的作用 — 因此这是一个使用简单的for循环重新实现此函数的方法 picked_manual torch.zeros_like(picked) for i in range(batch_size):for j in range(num_picks):for k in range(num_features):picked_manual[i, j, k] values[i, indices[j], k]assert torch.all(torch.eq(picked, picked_manual))torch.gather 接下来我们转向torch.gather。gather的行为与index_select类似但现在所需维度中的元素选择取决于其他维度 — 即重新使用我们的ML示例对于每个批次索引和每个特征我们可以从“元素”维度中选择不同的元素 — 我们根据另一个张量的索引选择元素。 当我在进行ML项目时我经常遇到这种用例一个具体的例子是基于某些条件从树中选择节点并且每个节点由一些特征指定然后我们生成一个索引选择矩阵将要选择的元素放在批次维度中并沿着特征维度重复这些值。即对于每个批次索引我们可以根据某些条件选择不同的元素 — 在我们的示例中这个条件仅取决于批次索引 — 尽管它也可能取决于特征索引。 但首先让我们再次从一个2D示例开始 num_picks 2values torch.rand((len_dim_0, len_dim_1)) indices torch.randint(0, len_dim_1, size(len_dim_0, num_picks)) # [len_dim_0, num_picks] picked torch.gather(values, 1, indices)当可视化时我们会观察到选择现在不再由直线特征化而是对于维度0中的每个索引在维度1中选择不同的元素 好的现在让我们转向三维并展示重新实现这个选择的Python代码 import torchbatch_size 16 num_elements 64 num_features 1024 num_picks 5 values torch.rand((batch_size, num_elements, num_features)) indices torch.randint(0, num_elements, size(batch_size, num_picks, num_features)) picked torch.gather(values, 1, indices)picked_manual torch.zeros_like(picked) for i in range(batch_size):for j in range(num_picks):for k in range(num_features):picked_manual[i, j, k] values[i, indices[i, j, k], k]assert torch.all(torch.eq(picked, picked_manual))torch.take torch.take可能是介绍的这三个函数中最容易理解的它基本上将输入张量视为被展平的然后从这个列表中选择元素。例如当将take应用于形状为[4, 5]的输入张量并选择索引6和19时我们将获得展平张量的第6个和第19个元素 — 也就是说来自第2行的第2个元素和最后一个元素。 2D示例 num_picks 2values torch.rand((len_dim_0, len_dim_1)) indices torch.randint(0, len_dim_0 * len_dim_1, size(num_picks,)) # [num_picks] picked torch.take(values, indices)正如我们所见现在我们只得到了两个元素。 以下是带有随后重新实现的3D选择。请注意索引张量现在可以具有任意形状并且结果选择也是按照此形状给出的 import torchbatch_size 16 num_elements 64 num_features 1024 num_picks (2, 5, 3)values torch.rand((batch_size, num_elements, num_features)) indices torch.randint(0, batch_size * num_elements * num_features, sizenum_picks) # [2, 5, 3] picked torch.take(values, indices)picked_manual torch.zeros(num_picks) for i in range(num_picks[0]):for j in range(num_picks[1]):for k in range(num_picks[2]):picked_manual[i, j, k] values.flatten()[indices[i, j, k]]assert torch.all(torch.eq(picked, picked_manual))结论 在本文中我们看到了PyTorch中三种常见的选择方法torch.index_select、torch.gather和torch.take。通过所有这些方法可以根据某些条件从张量中选择/索引元素。 对于所有方法我们都从一个简单的2D示例开始并通过图形化方式可视化了结果选择。然后我们转向了一个略微更复杂和更真实的3D场景在这个场景中我们从形状为[batch_sizenum_elementsnum_features]的张量中进行选择 —— 这可能是任何ML项目中的常见用例。
http://www.hyszgw.com/news/82650/

相关文章:

  • 网站鼠标的各种效果怎么做的微信第三方平台开发
  • 建站之星安装模板失败wordpress可以建什么站
  • 品牌形象网站有哪些株洲seo推广
  • 成都网站制作长沙做程序开发的网站
  • 网站建设费用贵不贵网站建设模板怎么设计
  • 株洲做网站多少钱加盟型网站建设
  • 网站建设 绵阳企业运营数据分析报告
  • 机械公司网站模板wordpress word发布文章
  • 网站开发师是属于IT主体职业做网站建设的公司有哪些内容
  • 请打开123720的网站百度编程培训班学费一般多少钱
  • 手机模块网站移动商城搭建
  • 提升访问境外网站速度建设银行官方网站购房贷款利率
  • 互联网站安全管理服务平台成交型网站制作
  • 长沙建设银行招聘网站几何印花图案设计网站
  • 手机有些网站打不开怎么解决百度开户推广
  • 做网站的名字大全深圳私人做网站
  • 广州微信网站设计北京海淀网站建设
  • 做简单网站的步骤如何对新开网站做收录
  • 做店招的网站wordpress图片排列
  • 东莞网站建设制作厂怎么做系统软件网站
  • 晋城网站建设公司买机票便宜的网站建设
  • 做网站中二级导航链接到一级导航wordpress 手机管理
  • 浙江杭州下沙做网站wordpress获取文章title
  • 有什么做网站优化公司河南省建设培训中心网站
  • 建站模板与网站案例展示一个域名怎么做网站
  • 网站建设速成无锡网站建设报价明细表
  • 如何的找网站建设公司做网站需要哪类商标
  • 网站建设的学校做淘宝网站目的是什么
  • 什么网站做一手房好做微商能利用的网站有哪些问题
  • 大型集团网站建设公司做视频网站视频用什么插件