Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • DeepSpeech
  • Issue
  • #344

D
DeepSpeech
  • 项目概览

PaddlePaddle / DeepSpeech
大约 2 年 前同步成功

通知 210
Star 8425
Fork 1598
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 245
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 3
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
D
DeepSpeech
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 245
    • Issue 245
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 3
    • 合并请求 3
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板
已关闭
开放中
Opened 8月 01, 2019 by saxon_zh@saxon_zhGuest

如何将DeepSpeech的weights转换成onnx格式,或者任何能被tensorflow读取的格式。

Created by: SamChen

如题。 我对paddlepaddle了解很肤浅。。 我想用pytorch加载预训练的百度模型。 但在我到处理模型权重时,我发现每个conv layer 权重都是都被squeeze成了一个list。例如, 第一层的conv layer 参数应该是 32个kernel,每个kernel是一个shape应该是(1,11,41)的tensor。但预训练模型的第一层权重是一个shape为(1,14432)的list。因为32*11*41=14432, 所以我猜测这个list中的每个element对应该layer中的一个weight。根据paddle.v2.parameter.Parameters的帮助信息,一个list中的每一个element是protobuf struct。 它记录了每个weight的信息。

我对protobuf完全不熟悉。 不知道应该如何正确映射每一个element的权重信息到该layer的对应权重位置上去。即将 (1,14431) 复原为 32 个shape为(1,11,14)的kernel。 deepspeech必须要用0.13或者更早的paddlepaddle, 我很难找到相关的权重导出的信息。

有人能教教我应该怎么根据protobuf的信息做权重映射吗?只要能够将这个模型转换成onnx格式或者tensorflow的可读格式即可。 或者给点提示我应该去哪查找protobuf的更多相关资料。

指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/DeepSpeech#344
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7