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

成品软件源码网站大全ui培训班 千锋教育

成品软件源码网站大全,ui培训班 千锋教育,河北招投标网招标公告,电子商务网站的开发流程包括首先不得不佩服大模型的强大之处,在算法移植过程中遇到einsum算子在ONNX中不支持,因此需要使用普通算子替代。参考TensorRT - 使用torch普通算子组合替代torch.einsum爱因斯坦求和约定算子的一般性方法。可以写出简单的替换方法,但是该方法会…

     首先不得不佩服大模型的强大之处,在算法移植过程中遇到einsum算子在ONNX中不支持,因此需要使用普通算子替代。参考TensorRT - 使用torch普通算子组合替代torch.einsum爱因斯坦求和约定算子的一般性方法。可以写出简单的替换方法,但是该方法会导致训练时还是推理都很慢,并且会消耗大量显存,造成显存溢出的问题。。因此采用提问文心一言,没想到居然真的回答正确了。当然替换需要验证,不是全对的。
1.einsum(delta, A, ‘b l d_in, d_in n -> b l d_in n’) 的替换,以下两个方法均可以

deltaA = torch.exp(einsum(delta, A, 'b l d_in, d_in n -> b l d_in n'))
deltaA = torch.exp(delta.unsqueeze(dim=3)*A.unsqueeze(dim=0).unsqueeze(dim=0))
deltaA = torch.exp(delta.unsqueeze(-1).repeat_interleave(A.shape[1], dim=-1) * A)

2.einsum(x, C[:, i, :], ‘b d_in n, b n -> b d_in’),以下两个方法均可以

    y = einsum(x, C[:, i, :], 'b d_in n, b n -> b d_in')y = (x*C[:, i, :].unsqueeze(dim=1)).sum(dim=2)y = torch.matmul(C[:, i, :], x.transpose(-1, -2)).squeeze(1)

3.einsum(delta, B, u, ‘b l d_in, b l n, b l d_in -> b l d_in n’),以下两个方法均可以

deltaB_u = einsum(delta, B, u, 'b l d_in, b l n, b l d_in -> b l d_in n')
deltaB_u1 = delta.unsqueeze(dim=3)*B.unsqueeze(dim=2)*u.unsqueeze(dim=3)

下述方法是提问文心一言的办法,注意需要将答案的结果和einsum的结果进行对比,采用np.testing.assert_allclose(deltaB_u.numpy(),deltaB_u1.numpy(),rtol=1e-05,atol=1e-05)和print(deltaA.equal(deltaA_manual))均可以。

import torch
import numpy as np
from einops import rearrange, repeat, einsum
# 给定的张量
delta = torch.ones([1, 3, 2])
A = torch.ones([2, 4])
deltaA = torch.exp(einsum(delta, A, 'b l d_in, d_in n -> b l d_in n'))
deltaA1 = torch.exp(delta.unsqueeze(dim=3)*A.unsqueeze(dim=0).unsqueeze(dim=0))
deltaA_manual = torch.exp(delta.unsqueeze(-1).repeat_interleave(A.shape[1], dim=-1) * A)
np.testing.assert_allclose(deltaA.numpy(),deltaA1.numpy(),rtol=1e-05,atol=1e-05)# 扩展 delta 的维度,以便它可以与 A 进行广播(broadcast)
# 这里我们使用 unsqueeze 和 repeat_interleave 来扩展维度
delta_expanded = delta.unsqueeze(-1).repeat_interleave(A.shape[1], dim=-1)
# 执行逐元素的乘法,然后取指数
deltaA_manual = torch.exp(delta_expanded * A)# 注意:deltaA_manual 的形状是 [1, 3, 2, 4],这与 einsum 的输出形状一致
print(deltaA.equal(deltaA_manual))
print(deltaA1.equal(deltaA_manual))

请添加图片描述
请添加图片描述
请添加图片描述

http://www.yayakq.cn/news/71085/

相关文章:

  • 网站首页排名突然没了wordpress数学公式
  • 著名的网站有哪些做柱状图饼状图好看的网站
  • 山西网站建设公司发帖子的网站
  • 上海专业做网站电话华诚博远建筑规划设计公司
  • 专做水果的网站app下载官网
  • 网站运营设计资源网站的建设
  • php网站打开一片空白企业做网站找谁
  • 知名的食品行业网站开发学做网站php吗
  • 昆山高端网站建设公司哪家好济南网站建设咨 询小七
  • 区块链技术网站开发h5牛牛棋牌源码
  • 门户网站模板下载网页设计与制作首页
  • 申请一个域名后怎么做网站广州做企业网站找哪家公司好
  • 自己做的网站算广告吗wordpress上传图片压缩
  • 网站设计布局天元建设集团有限公司路桥工程公司
  • 局网站建设申请作品集网站代码
  • 百度趋势搜索祁东seo公司
  • 官网和门户网站的区别山西省网站建设哪里好
  • 企业网站建设的核心是曲周企业做网站推广
  • 网站开发公司市场建立一个个人网站
  • 中建国际建设有限公司网站nas服务器可以做网站吗
  • 中山网站建设文化市场专门做win7的网站
  • 上饶市建设局网站百代永康市住房建设局网站
  • 建设银行 网站 字体上海网站营销seo电话
  • 信息管理系统网站开发教程怎么被百度收录
  • 微网站设置网站开发接口
  • 食用油 网站 模板谷歌seo优化公司
  • 网站开发环境vs2015是什么浙江省网站备案流程
  • 庄河网站怎么举报做棺材深圳模板网站多少钱
  • 在哪个网站做视频好赚钱学校网站建设问卷调查表
  • 济南市建设网站星空无限mv国产剧