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

历史上的今天 网站如何做网站怎么推广

历史上的今天 网站如何做,网站怎么推广,做色情网站的人是怎么被抓的,网站负责人 法人在开发一个PyTorch模块时,遇到了一个诡异的现象,将他描述出来就是下面这样: f[..., :p_index - 1] f[..., 1:p_index] 这个操作将f张量的部分数值进行左移,我在模型训练的时候还能正常跑,但是当我将模型部署到项目中…

在开发一个PyTorch模块时,遇到了一个诡异的现象,将他描述出来就是下面这样:

f[..., :p_index - 1] = f[..., 1:p_index]

这个操作将f张量的部分数值进行左移,我在模型训练的时候还能正常跑,但是当我将模型部署到项目中时,这行代码报错了!

Traceback (most recent call last):File "<input>", line 1, in <module>
RuntimeError: unsupported operation: some elements of the input tensor and the written-to tensor refer to a single memory location. Please clone() the tensor before performing the operation.

这个PyTorch报错是因为在执行操作时,输入张量和目标张量共享了同一块内存地址(存在内存重叠),导致PyTorch无法安全地完成原地(in-place)操作。

既然这样的话为什么在模型训练的时候不会这样呢?后面我仔细研究了一下午,发现了下面的原因:


当我们模型在训练阶段中,f的形状通常是(B,F)的形式存在的,而在部署的时候,作推理时数据通常是(1,F)的形式,所以会出现下面的情况:

# 创建高维张量(3维)
f_3d = torch.randn(16, 1, 25)
slice_3d = f_3d[..., 1:24]  # 源切片print("高维张量切片是否连续:")
print(slice_3d.is_contiguous())  # 输出 False# 创建一维张量对比
f_1d = torch.randn(1, 1, 25)
slice_1d = f_1d[..., 1:24]print("\n一维张量切片是否连续:")
print(slice_1d.is_contiguous())  # 输出 True

可以看到,当张量是维度大于1时,其在内存中是非连续存储的,而张量维度为1时,其在内存中是连续存储的。对于非连续张量,PyTorch会在赋值时隐式创建临时副本,避免内存覆盖。因此在进行原地赋值时不会报错。

最后,为了加强代码的鲁棒性,我在所有涉及这部分操作的代码后面加上了clone()函数。

f[..., :p_index - 1] = f[..., 1:p_index].clone()
http://www.dtcms.com/wzjs/331210.html

相关文章:

  • 淘宝上做网站不靠谱互联网营销是什么意思
  • 响应式机械类网站软件外包网
  • 网站 支持建设单位seo关键词报价查询
  • 企业网站推广方案上海北京中文seo
  • 嘉兴港区建设局网站网络营销是网上销售吗
  • 中小企业发展seo什么意思中文意思
  • 无锡网站建设专家无锡网站制作百度新闻头条
  • 个人能备案多少个网站百度账户
  • jsp网站开发框架seo课
  • 珠海金湾区建设局网站网络管理系统
  • seo外包方法seo费用价格
  • 网站平台开发公司推广平台排行榜
  • 免费网站制作平台电脑培训机构哪个好
  • 滁州网站建设费用百度竞价的优势和劣势
  • 旌阳移动网站建设友情链接购买平台
  • 服装行业网站建设及推广seo排名是什么意思
  • 如何建立自己推广网站aso关键字优化
  • 最好科技广州网站建设谷歌排名优化
  • 软件网站下载网站排行榜查询
  • 网站 成功因素阿里云com域名注册
  • 河北省网站备案系统西安官网seo
  • 做网站营销怎么去推广seo网站关键词优化
  • 提供手机网站制作seo搜索引擎优化薪资水平
  • 自己的网站做弹出广告网络营销与直播电商是干什么的
  • 网站没有收录seo是怎么优化的
  • 知识产权教育网站建设方案seo推广需要多少钱
  • 主流的网站开发技术有百度智能云
  • 网站点击率高百度本地惠生活推广
  • 河南省建设厅网站总经济师新东方雅思培训价目表
  • 网站开发工资百度有专做优化的没