今天看啥  ›  专栏  ›  Pytorch(微博搜索)

Pytorch(微博搜索)-20220115-1

Pytorch(微博搜索)  · 微博搜索  ·  · 2022-01-15 00:00
本条微博地址_Axxdicjlsk
tensorflow模型迁移到pytorch踩坑实录:
手里的模型是ckpt格式,要转为pytorch的最暴力办法是读取出所有参数,建立两边参数名称的映射,一一对应过去,结果两边参数取出来一百多个格式不一样,但要手动建立映射我真的告辞了[怒骂]
第二种方式就是利用中间框架过渡,于是我决定把ckpt转化为pb转化为onnx再转化为pth,结果ckpt转化为pb时找输出节点找了好久好久好久(因为不是我自己的模型),好不容易成功转为pb,以为转onnx会相当顺利,结果短短两行代码进去我的提示信息不一样而且一直没有输出模型,重点是不报错,我都不知道查什么。又看到有人说saved_model模型转为onnx不需要输入输出节点,于是我又重新把ckpt转为了saved_model,然后转onnx又开始报错,明明我的模型就在那里,为什么一直说找不到,根据网上的方法卸载又重装了h5py,还是同样的报错,它就在那里啊!!
我现在是一顿操作猛如虎,感觉自己像250,磨蹭好多天,还在解放前,我真疯了我真的疯了我真的疯了啊!!!![抓狂][抓狂][抓狂][抓狂][抓狂][抓狂]
本条微博地址可口可乐与果粒橙
#pytorch# pytorch取值越界问题

=== 当pytorch出现如下错误:
RuntimeError: CUDA error: device-side assert triggered

大概率是取值越界了

比如: embedding词表长度为100,但具体数据token_id超过了100

比如: 定义a变量最大值为5,但是取值超过了5

再比如: 标签为1和-1的分类问题,在pytorch中计算交叉熵默认为0和1,也会报错

=== 具体问题定位:
cuda上运行的数据,在模型最前面加上下面的代码,有助于定位问题

import os
os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
搜索微博更多关键词-Pytorch



原文地址:访问原文地址
快照地址: 访问文章快照