网站打开很慢怎么回事啊电脑网站编程

web/2025/9/30 6:46:03/文章来源:
网站打开很慢怎么回事啊,电脑网站编程,动漫设计专业好不好,灰色推广目录 一、LMDB文件二、准备训练集三、安装basicsr包四、LMDB文件制作4.1 参数修改4.2 其它格式图片修改4.3 代码4.4 转换结果4.4.1 data.mdb文件4.4.2 lock.mdb文件4.4.3 meta_info.txt文件 五、总结 一、LMDB文件 在训练的时候使用LMDB 存储形式可以加快IO 和CPU 解压缩的速度… 目录 一、LMDB文件二、准备训练集三、安装basicsr包四、LMDB文件制作4.1 参数修改4.2 其它格式图片修改4.3 代码4.4 转换结果4.4.1 data.mdb文件4.4.2 lock.mdb文件4.4.3 meta_info.txt文件 五、总结 一、LMDB文件 在训练的时候使用LMDB 存储形式可以加快IO 和CPU 解压缩的速度(测试的时候数据较少, 一般就没有太必要使用LMDB)。其具体的加速要 根据机器的配置来以下几个因素会影响 有的机器设置了定时清理缓存而LMDB 依赖于缓存。因此若一直缓存不进去则需要检查一下。一般free -h 命令下, LMDB 占用的缓存会记录在buff/cache 条目下面。 机器的内存是否足够大能够把整个LMDB 数据都放进去。如果不是则它由于需要不断更换缓存会影响速度。 若是第一次缓存LMDB 数据集可能会影响训练速度。可以在训练前进入LMDB 数据集 目录把数据先缓存进去cat data.mdb /dev/null 二、准备训练集 训练集的种类及格式是多样的这里主要以.png格式的图片进行讲解。如下 三、安装basicsr包 进入终端后输入下面命令安装basicsr包 pip install basicsr -i https://pypi.mirrors.ustc.edu.cn/simple/四、LMDB文件制作 4.1 参数修改 4.2 其它格式图片修改 下面是数据集中图片后缀为其它格式时怎么修改代码这里以.bmp格式图片为例 4.3 代码 转换的详细代码见下 import cv2 from basicsr.utils import scandir import lmdb import sys from multiprocessing import Pool from os import path as osp from tqdm import tqdmdef create_lmdb_for_div2k():folder_path Images/LMDB/Visible_Imageslmdb_path Images/LMDB/Visible_Images.lmdbimg_path_list, keys prepare_keys_div2k(folder_path)make_lmdb_from_imgs_lmdb(folder_path, lmdb_path, img_path_list, keys)def prepare_keys_div2k(folder_path):print(Reading image path list ...)img_path_list sorted(list(scandir(folder_path, suffixpng, recursiveFalse))) # 获取文件夹下所有后缀为 png 的文件路径但不进行递归搜索keys [img_path.split(.png)[0] for img_path in sorted(img_path_list)] # 从图像路径中分离出键去掉 .png 后缀并排序return img_path_list, keysdef prepare_keys_div2k_bmp(folder_path):print(Reading image path list ...)img_path_list sorted(list(scandir(folder_path, suffixbmp, recursiveFalse)))keys [img_path.split(.bmp)[0] for img_path in sorted(img_path_list)]return img_path_list, keysdef read_img_worker(path, key, compress_level):img cv2.imread(path, cv2.IMREAD_UNCHANGED)if img.ndim 2:h, w img.shapec 1else:h, w, c img.shape_, img_byte cv2.imencode(.png, img, [cv2.IMWRITE_PNG_COMPRESSION, compress_level])return (key, img_byte, (h, w, c))def make_lmdb_from_imgs_lmdb(data_path,lmdb_path,img_path_list,keys,batch5000,compress_level1,multiprocessing_readFalse,n_thread40,map_sizeNone):assert len(img_path_list) len(keys), (img_path_list and keys should have the same length, fbut got {len(img_path_list)} and {len(keys)})print(fCreate lmdb for {data_path}, save to {lmdb_path}...)print(fTotoal images: {len(img_path_list)})if not lmdb_path.endswith(.lmdb):raise ValueError(lmdb_path must end with .lmdb.)if osp.exists(lmdb_path):print(fFolder {lmdb_path} already exists. Exit.)sys.exit(1)if multiprocessing_read:# read all the images to memory (multiprocessing)dataset {} # use dict to keep the order for multiprocessingshapes {}print(fRead images with multiprocessing, #thread: {n_thread} ...)pbar tqdm(totallen(img_path_list), unitimage)def callback(arg):get the image data and update pbar.key, dataset[key], shapes[key] argpbar.update(1)pbar.set_description(fRead {key})pool Pool(n_thread)for path, key in zip(img_path_list, keys):pool.apply_async(read_img_worker, args(osp.join(data_path, path), key, compress_level), callbackcallback)pool.close()pool.join()pbar.close()print(fFinish reading {len(img_path_list)} images.)# create lmdb environmentif map_size is None:# obtain data size for one imageimg cv2.imread(osp.join(data_path, img_path_list[0]), cv2.IMREAD_UNCHANGED)_, img_byte cv2.imencode(.png, img, [cv2.IMWRITE_PNG_COMPRESSION, compress_level])data_size_per_img img_byte.nbytesprint(Data size per image is: , data_size_per_img)data_size data_size_per_img * len(img_path_list)map_size data_size * 10env lmdb.open(lmdb_path, map_sizemap_size)# write data to lmdbpbar tqdm(totallen(img_path_list), unitchunk)txn env.begin(writeTrue)txt_file open(osp.join(lmdb_path, meta_info.txt), w)for idx, (path, key) in enumerate(zip(img_path_list, keys)):pbar.update(1)pbar.set_description(fWrite {key})key_byte key.encode(ascii)if multiprocessing_read:img_byte dataset[key]h, w, c shapes[key]else:_, img_byte, img_shape read_img_worker(osp.join(data_path, path), key, compress_level)h, w, c img_shapetxn.put(key_byte, img_byte)# write meta informationtxt_file.write(f{key}.png ({h},{w},{c}) {compress_level}\n)if idx % batch 0:txn.commit()txn env.begin(writeTrue)pbar.close()txn.commit()env.close()txt_file.close()print(\nFinish writing lmdb.)if __name__ __main__:create_lmdb_for_div2k()4.4 转换结果 运行上面脚本输出如下 最终的LMDB文件在代码中设置的路径下 生成的各个文件解析加下。 4.4.1 data.mdb文件 存储数据库中的所有实际数据包括键值对、元数据等。 是一个二进制文件可以直接使用内存映射的方式进行读写访问速度非常快。 文件大小取决于数据库中存储的数据量。 4.4.2 lock.mdb文件 一个用于控制数据库访问的锁文件。 确保同一时间只有一个进程可以对数据库进行读写操作防止数据损坏。 文件大小很小通常只有几百字节。 4.4.3 meta_info.txt文件 采用txt 来记录是为了可读性文件中内容如下 上面每一行记录了一张图片有三个字段分别表示 图像名称(带后缀): 0001.png 图像大小(1404,2040,3) 表示是1404 × 2040 × 3的图像 其他参数(BasicSR 里面使用了cv2 压缩png 程度) 因为在复原任务中通常使用png 来存储 所以这个1 表示png 的压缩程度 也就是CV_IMWRITE_PNG_COMPRESSION 为1。CV_IMWRITE_PNG_COMPRESSION可以取值为[0, 9] 的整数更大的值表示更强的压缩即更小的储存空间和更长的压缩时间。 五、总结 以上就是深度学习训练前标准的LMDB文件(data.mdb和lock.mdb)制作过程希望能帮我你有问题欢迎留言。 感谢您阅读到最后关注公众号「视觉研坊」获取干货教程、实战案例、技术解答、行业资讯

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

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

相关文章

普法网站建设方案平台运营是做什么的

1. rule.xml分片规则配置文件 rule.xml中配置的主要就是拆分表的规则,rule.xml中主要包含两类标签 tableRule 和Function。 tableRule标签里面主要配置我们的分片规则,Function里面涉及的是分片规则里面所涉及的java类,都是在function中配置…

腾讯云学生机做网站用cms建网站

您好,感谢您在我们论坛发帖。首先,按照您的描述,正常情况下,您的客户端可以远程连接您的服务器,输入IP和端口之后,会弹出验证框,输入账户密码之后即可进入服务器的桌面。当出现问题时&#xff0…

律师事务所网站建设重要性姜堰网站制作

目录 1、什么是Doxygen?. 3 2、撰写正确格式的批注... 4 2.1常用指令介绍... 4 2.2简述与详述的方式... 6 2.3文件头注释... 6 2.4版权注释... 6 2.5模块定义(单独显示一页)... 7 2.6分组定义(在一页内分组显示)... 8 2.7变量、宏…

红铃铛网站建设上海外贸仓库

JetBrains最近推出的Rust集成开发工具——RustRover已经发布,官方网站:RustRover: Rust IDE by JetBrains JetBrains出品过很受欢迎的开发工具IntelliJ IDEA、PyCharm等。 RustRover优势 Rust集成环境,根据向导可自动下载安装rust开发环境提…

网站建设的公司怎么收费自己做的网站怎么链接火车头采集

oppo人岗匹配测评我们被迫在测试代码中写太多断言行的日子已经一去不复返了。 镇上有一个新的警长:assertThat和他的代理人:匹配者。 好吧,这不是什么新东西,但是无论如何,我想向您介绍匹配器的使用方式,然…

网络优化seo招聘优化搜索引擎

在《asp.net core认证与授权》中讲解了固定和自定义角色授权系统权限,其实我们还可以通过其他方式来授权,比如可以通过角色组,用户名,生日等,但这些主要取决于ClaimTypes,其实我们也可以自定义键值来授权&a…

贵金属企业网站源码宣传网站开发

一、函数指针 1、定义 顾名思义,函数指针就是函数的指针。它是一个指针,属于一个数据类型,其指向一个函数。如定义一个函数,其入口地址就是这个函数的指针,是个常量,可以用该常量给函数指针类型的变量赋值&…

网站开发语言识别北京优秀的网站建设公司

python缓冲区When people who speak different languages get together and talk, they try to use a language that everyone in the group understands. 当说不同语言的人聚在一起聊天时,他们会尝试使用小组中每个人都能理解的语言。 To achieve this, everyone …

合肥网站设计公司怎样让百度搜不到自己的网站

一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向,也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言,即将人的自然语言转换为计算机可以阅读的指令。它研…

盐城集团网站建设南通网站排名优化

大模型背后的范式 整个预训练语言模型的使用范式: 对于预训练模型,最核心的要素是从无标注的数据中去学习,通过自监督的一些任务去做预训练,得到丰富的知识。在具体的应用中,会引入一些任务相关的数据,去调…

米各庄网站建设遂宁模板建站公司

maven:编译出现Process terminated解决方法(超全) 一. 情况一:配置文件 settings. xml 出错(解决方法1)1.1 项目编译报错如下:1.2 点击【项目名】提示找到出错文件1.3 点击查看出错文件1.4 原因及解决办法 …

制作网页的网站有哪些建设银行网站连不上

今天又学会了一个知识,加油! 目录 一、基带信号与宽带信号 1、基带信号 2、宽带信号 3、选择 4、关系 二、数字数据编码为数字信号 1、非归零编码【NRZ】 2、曼彻斯特编码 3、差分曼彻斯特编码 4、归零编码【RZ】 5、反向不归零编码【NRZI】 …

大学网页制作与网站建设开通网站需要什么手续

文章首发地址 为了解决在云原生环境中,Java应用启动慢的问题,出现了很多派系,如拯救派,让应用在原有基础上启动更快(一般都是用资源换时间),还有就是革命派,Java向Golang学习&#x…

三亚网站建设公司移动网站建设是什么意思

安卓工具箱专业版是款集所有功能于一身的工具箱!包括硬件和软件和工具,您的手机使用的信息。非常容易使用,具有非常用户友好的用户界面。 主要功能: 1。硬件信息:CPU核心,CPU类型,内存信息&…

胡芦娃app软件下载网站前端开发工具哪个好

Linux——权限的理解 文章目录 Linux——权限的理解一、shell命令以及运行原理二、Linux权限的概念切换用户对指令提权 三、Linux权限管理1. 文件访问者的分类(人)2. 文件类型和访问权限(事物属性)文件类型基本权限文件权限值的表…

手机网站开发步骤网站建设的基本技术

泛型 基本概念为什么我们需要泛型泛型类型泛型类简单泛型类多元泛型类 泛型接口泛型方法为什么要使用泛型方法呢?使用方法 泛型的上下限上限下限加点难度的例子例子一例子二例子三 泛型数组深入理解泛型什么是泛型擦除后保留的原始类型泛型类型擦除原则如何进行擦除的?怎么证…

网站建设教程培训中国十大经典广告

1. 请自我介绍一下(需简单清楚的表述自已的基本情况,在这过程中要展现出自信,对工作有激情,上进,好学) 面试官您好,我叫###,今年26岁,来自江西九江,就读专业是电子商务,毕…

素材网站下载专做智能化施工的网站

背景 随着酒店业务的高速发展,我们为用户、商家提供的服务越来越精细,系统服务化程度、复杂度也逐渐上升。微服务化虽然能够很好地解决问题,但也有副作用,比如,问题定位。 每次问题定位都需要从源头开始找同事帮我人肉…

各大网站网址奉贤做网站的

apache shiro 反序列化漏洞解决方案 反序列化漏洞解决方案产生原因解决方案1:1.升级shiro至最新版本1.7.1解决方案2:修改rememberMe默认密钥,生成随机密钥。 反序列化漏洞解决方案 反序列化漏洞介绍 序列化:把对象转换为字符串或…

网站照片要求南阳企业网站推广方法

一:Settings一级菜单 1、AndroidManifest.xml 每个APP对应都有一个AndroidManifest.xml,从该文件入手分析最为合适。 packages/apps/Settings/AndroidManifest.xml 根据<category android:name="android.intent.category.LAUNCHER" />可找到当前当前APP a…