基于棋盘格上下文模型的图像压缩算法(zqb第四章-RBs)

这篇博客详细记录了使用基于棋盘格上下文模型的图像压缩算法进行实验复现的过程。实验在ImageNet数据集上进行,调整不同λ值产生六个码率的模型。通过调用train.py训练模型,比较了激活函数改为RBs后的性能,包括PSNR和解码时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

此篇博客仅供自己观看,记录实验复现中的问题。
本实验在实验室集群跑

1、数据集准备

数据集取自于 ImageNet Validation dataset,该数据集中包含50000 张 JPEG 图像,从中取最大的 16000 张作为训练集,再取剩余图像中最大的2000 张作为测试集。
λ 的值设置为{0.0016, 0.0032, 0.0075, 0.015, 0.03, 0.045},对应六个不同码率的模型,前三个模型的超参数设置为 N = 192,M = 192,后三个模型为 N = 192, M = 320。

2、调用train.py进行训练

调用脚本进行训练,调用.sh脚本方法

python3 -u train.py -d /home/disk/lilin/datasets/imageNet --epochs 501 -lr 1e-4 --lambda 0.0016 --batch-size 16 --cuda --save > log.out

3、整理训练流程

  1. 读取数据集地址,加载数据集
  2. 将数据集分为训练集与测试集,然后随机剪裁数据中的图片为patchsize*patchsize大小
  3. 加载构建好的网络模型
  4. 将设置好的模型与相应设置的参数传入优化器
  5. 判断是否有训练一部分的模型,如果有则继续训练,如果没有则重新开始
  6. 若重新开始训练模型,则将数据送入优化器,进行正向传播与反向梯度传播,并计算bpp、mse、loss的均值打印(10次迭代打印一次)计算率失真损失,并保存节点信息

4、与基础分支差别

在这里插入图片描述
将激活函数改为了RBs
在这里插入图片描述
在这里插入图片描述

5、RBs模块

在这里插入图片描述

在这里插入图片描述

import torch
import torch.nn as nn

def conv1x1(in_ch: int, out_ch: int, stride: int = 1) -> nn.Module:
    '''1x1 convolution'''
    return nn.Conv2d(in_ch, out_ch, kernel_size=1, stride=stride)

def conv3x3(in_ch: int, out_ch: int, stride: int = 1) -> nn.Module:
    '''3x3 convolution with padding'''
    return nn.Conv2d(
在进行FPGA设计时,特别是涉及到使用Max-plusⅡ软件和ALTERA Cyclone II系列FPGA(例如EP1K100QC208-1)时,了解如何设计三态门并将其集成到FPGA中是至关重要的。以下是一些详细的步骤,这些步骤将引导你完成从VHDL编码到下载配置的整个过程: 参考资源链接:[Max-plusⅡ软件应用与三态门电路设计教程](https://wenku.youkuaiyun.com/doc/4zb34zqb49?spm=1055.2569.3001.10343) 1. **环境设置**:首先,创建一个新的文件夹用于存放项目文件,这有助于保持项目的组织性。对于VHDL项目来说,一个良好的命名习惯是保持文件夹名称的英文命名。 2. **编写VHDL源代码**:使用Max-plusⅡ的文本编辑器编写VHDL源代码。确保使用正确的实体名称和端口定义,如示例代码所示。这个实体描述了一个三态门电路,其工作逻辑是当使能信号有效时,输出端跟随输入端;否则输出端呈现高阻态。 3. **配置目标器件**:在Max-plusⅡ的Assign菜单中选择目标器件为ACEX1K EP1K100QC208-1。这一配置步骤是为了确保编译后的代码与你的FPGA硬件兼容。 4. **管脚映射**:使用Floorplan Editor为设计中的信号分配实际的FPGA管脚。完成管脚映射后,进行编译检查以确保配置正确。 5. **下载与调试**:使用Programmer菜单中的Configure选项将设计下载到FPGA芯片上,并进行功能测试,验证电路是否按预期工作。 在完成上述步骤后,你就能够成功地在Max-plusⅡ环境中设计三态门电路,并将其集成到ALTERA Cyclone II系列的FPGA上。为了更深入地了解整个设计和编程过程,建议参考《Max-plusⅡ软件应用与三态门电路设计教程》。这本书能够为你提供更全面的指导和解释,帮助你解决实际设计中可能遇到的问题。 参考资源链接:[Max-plusⅡ软件应用与三态门电路设计教程](https://wenku.youkuaiyun.com/doc/4zb34zqb49?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值