CompressAI benchmark经典/传统图像编码器的使用

文章目录

  • 使用简介
  • 安装依赖
  • 编译安装BPG

使用简介

  • CompressAI的github仓库中Usage-Evaluation给出了传统编解码器的使用帮助,但是并未给出详细的使用方法。本文旨在进行总结使用方法。下图是传统编解码器相关代码的存放地点,其中codecs为各种编解码器类的定义模块module,被__main__调用。
    传统编解码器相关代码的存放地点
  • 各个编解码器的输入参数的要求在codecs中可以找到,数据集路径参数是必须的。
# 要注意的是
# 在通过python -m script运行脚本的时候,不需要加上后缀
python -m __main__ jpeg
  • 在跑.bpg的时候,你会发现需要自己显式给出encoder和decoder的路径。而bpg的linux编解码器需要在这里可以找到,源码的编译须知在README中可以看到需要安装yasm和SDL。
  • 在安装的时候有个需要注意的地方,如果你和我一样是通过登录用户的方式连接服务器,那么在进行如下python包安装的时候需要在自己的用户目录下安装,而不是对所有用户生效(权限不够)。

安装依赖

yasm下载链接,参考链接。sdl-image

# 这里我是自己下载的tar.gz压缩包然后上传到服务器
#  wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz 
cd yasm-1.3.0
# ./configure --prefix=$HOME/yasm-1.3.0 #使用该命令配置yasm的安装路径为用户目录下的bin目录:
./configure
make && make install 
echo 'export PATH="$HOME/yasm-1.3.0:$PATH"' >> ~/.bashrc 
source ~/.bashrc# 验证 
yasm --version# 安装sdl-image1.2
sudo apt-get install libsdl-image1.2-dev

编译安装BPG

在链接下载bpg的linux的源码。然后进行解压安装。其中README文件中给出了一系列注意事项。

tar xvf libbpg-0.9.8
cd libbpg-0.9.8
sudo make -j	# 重新make之前需要sudo make clean命令
sudo make install	# 可能会提示关于numa的undefined 错误
  • 关于numa的undefined 错误
    1. 可能解决方案:卸载libnuma-dev,然后编译安装bpg,再重装libnuma-dev(但是我没成功,出现能调用bpgenc,bpgdec但是实际会卡住的的情况,输出0kb的.bpg文件),参考的某个stack overflow帖子。
    2. 可能解决方案:修改MakefileE文件中第180行为LIBS+=-lm -lpthread -lnuma。参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java版企业电子招标采购系统源码—鸿鹄电子招投标系统-企业战略布局下的采购寻源

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审…

Impala4.x源码阅读笔记(二)——Impala如何高效读取Iceberg表

前言 本文为笔者个人阅读Apache Impala源码时的笔记,仅代表我个人对代码的理解,个人水平有限,文章可能存在理解错误、遗漏或者过时之处。如果有任何错误或者有更好的见解,欢迎指正。 Iceberg表是一种用于存储大规模结构化数据的…

L1-040:最佳情侣身高差

题目描述 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)1.09 (男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。 下面就…

如何建立一套完善的销售管理体系?

如何建立一套完善的销售管理体系? 该提问下已有许多专业的回答,从多个角度为题主出谋划策:销售主管如何提升个人能力、销售团队如何管理、PDCA管理方法论、销售闭环……似乎都与硬性的个人能力挂钩,销售能力、管理能力等等。 或…

电商控制台系统前台注册登录后台审核的测试

电商项目(前台): 登录接口 注册接口 后台: 注册审核:建一个线程类 注意程序中的一个问题。 这里是 5 条记录,2 条记录显示应该是 3 页,实际操作过程 有审核机制,出现了数据记录动态变…

如何使用Selenium进行Web自动化测试?一文6个步骤轻松玩转!

概述: Web自动化测试是现代软件开发过程中至关重要的一环。Selenium是一个强大的自动化测试工具,可以模拟用户在Web浏览器中的操作,实现自动化的测试流程。本文将介绍如何使用Selenium进行Web自动化测试,并附带代码示例&#xff0…

容器技术与操作系统

文章目录 容器技术 vs 虚拟机操作系统容器 Docker与操作系统 容器技术 vs 虚拟机 操作系统 操作系统是一个很重而且很笨的程序,简称笨重,有多笨重呢? 操作系统运行起来是需要占用很多资源的,大家对此肯定深有体会,刚…

基于模型驱动的可视化开发平台——JNPF

目录 一、模型驱动原理 二、低代码核心功能 1.业务建模: 2.表单建模: 3.页面建模: 4.流程建模: 5.报表建模: 6.门户建模: 7.大屏建模: 8.移动建模: 目前,国外内…

一个例子带你入门影刀编码版(二)

文章结构 摘要元素定位店铺所有宝贝单个宝贝详细信息相关链接 摘要 将通过一个电商业务场景下的真实需求,带领大家零基础入门影刀编码版,本系列将会分三步讲解,从接到需求到最后完成发版,整个过程中我们需要做些什么?…

BugKu-Web-Simple_SSTI_1Simple_SSTI_2(浅析SSTI模板注入!)

何为SSTI模块注入? SSTI即服务器端模板注入(Server-Side Template Injection),是一种注入漏洞。 服务端接收了用户的恶意输入以后,未经任何处理就将其作为Web应用模板内容的一部分,模板引擎在进行目标编译渲…

深入理解TheadLocal的使用场景和注意事项

前言 在日常实际开发当中我们往往会看到项目中有使用 ThreadLocal 的场景,大多数人有时候可能涉及不到自己的业务则没有进行关注。通常我在看代码时对于一些未知的东西常常引起我的好奇,我往往会分析:为什么要这么做?好处是什么&…

fuxploide,一款针对文件上传的Fuzz检测工具

fuxploide,一款针对文件上传的Fuzz检测工具 1.工具概述2.安装3.参数解析4.使用案例1.工具概述 Fuxploider 是一种开源渗透测试工具,可自动检测和利用文件上传表单缺陷。该工具能够检测允许上传的文件类型,并能够检测哪种技术最适合在所需的 Web 服务器上上传 Web Shell 或任…

【ARM Trace32(劳特巴赫) 使用介绍 1.2 - ARM 系统调试中常见的挑战】

请阅读【Trace32 ARM 专栏导读】 文章目录 ARM 系统调试中常见的挑战ARM 系统调试接口简例DAP-Debug Access portDAP 状态检查多核调试虚拟/物理地址Cache 数据一致性问题系统异常系统复位系统死机PC 采样Memory 采样RAM/Core Dump 分析小概率问题ARM 系统调试中常见的挑战 调试…

交直流充电桩检测

随着电动汽车的普及,充电桩的需求也在不断增加。为了保证充电桩的正常运行和使用安全,对其进行定期检测是非常必要的。检查充电桩的外壳是否有破损、变形等现象,以及充电桩的标识是否清晰可见。同时,还要检查充电桩的接口是否完好…

Elasticsearch:使用 OpenAI 生成嵌入并进行向量搜索 - nodejs

在我之前的文章: Elasticsearch:使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation (一)(二)(三)(四)​​​​​ 我详细地描述了如何使用…

自然语言处理第2天:自然语言处理词语编码

​ ☁️主页 Nowl 🔥专栏 《自然语言处理》 📑君子坐而论道,少年起而行之 ​​ 文章目录 一、自然语言处理介绍二、常见的词编码方式1.one-hot介绍缺点 2.词嵌入介绍说明 三、代码演示四、结语 一、自然语言处理介绍 自然语言处理&#xf…

5、Grounded Segement Anything

github sam安装与基本使用 stable diffusion安装与基本使用 安装GroundingDINO git clone https://github.com/IDEA-Research/GroundingDINO.git cd GroundingDINO pip install -e .pip install diffusers transformers accelerate scipy safetensors安装RAM&Tag2Text …

深度学习基本概念

1.全连接层 全连接层就是该层的所有节点与输入节点全部相连,如图所 示。假设输入节点为X1, X 2, X 3,输出节点为 Y 1, Y 2, Y 3, Y 4。令 矩阵 W 代表全连接层的权重, W 12也就代表 …

【C】⽂件操作

1. 为什么使⽤⽂件? 如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化…

世微 AP5199S 降压恒流车灯驱动IC 兼容HV9910

说明 AP5199S 是一款外围电路简单的多功能平均电流 型 LED 恒流驱动器,适用于宽电压范围的非隔离式 大功率恒流 LED 驱动领域。 芯片 PWM 端口支持超小占空比的 PWM 调光, 可响应最小 60ns 脉宽。芯片采用我司专利算法,为客 户提供最佳解决方…