VARIABLE RATE IMAGE COMPRESSION WITH RECURRENT NEURAL NETWORKS代码复现

首先上github地址github地址
这里依旧记录一下复现过程中遇到的问题

1、安装pytorch环境

这一步先跳过了,可以参考之前的文章安装pytorch环境,如果在服务器安装记得选择linux环境

2、安装缺少的包

pip install pyyaml
pip install tb-nightly
pip install colored

3、训练使用绝对路径

github中给出的训练命令是

但实际过程中我调试出现了路径不存在的问题,我将其改为了绝对路径

4、数据集下载

数据集由来自YouTube-8M 数据集的 720p 图像组成,这里csdn不让上传1000M以上的,大家自己下载吧
数据集地址

5、整理训练过程

  1. 创建对应目录下的三个文件夹,以便之后的读写操作

  2. 实例化对象,加载模型,初始化卷积相关的定义

  3. 加载数据集
    传入地址、设置batchsize等参数
    相关参数在train.yaml中

  4. 设置学习率等参数传入优化器进行梯度下降

  5. 以mse为损失进行计算

  6. 计算平均损失与平均epoch(不知道为什么epoch要计算平均值)
    (1)遍历数据集图片进行图片填充
    (720, 1280, 3)被填充到 1280×768(即 24,24 高度填充),以便它们可以分成 60 个 128×128 块
    (2)读取填充之后的tensor计算损失,相加除以batchsize,对应当前batch的平均损失

  7. 将图片的patch送入网络,进行VARIABLE RATE IMAGE COMPRESSION WITH RECURRENT NEURAL NETWORKS代码复现
    框架的第一次是输入原始patch,获得重建patch,后面才是残差的计算
    也就是先编码=>二值量化=>解码获取重建图片的patch,将原图的图像片patch与重建图片的patch对比,得到损失
    这里面的具体过程主要进行了一个前向传播的过程,大约如下
    (1)卷积
    (2)二值量化
    (3)反卷积
    如此获得重建的patch,获得x’与x,从而获得mse

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年5月11日
下一篇 2022年5月11日

相关推荐