下载和使用SLUN数据集

1. 下载数据集

网址在https://opendatalab.com/OpenDataLab/lsun/tree/main/raw/scenes

下载bedroom_val_lmdb.zip

然后解压后会又两个文件,一个data.mdb,另一个lock.mdb。

2. 使用torchvison使用LSUN数据集

我把解压后的bedroom_val_lmdb放在/home/data/下。

python 复制代码
import torchvision
import matplotlib.pyplot as plt

dataset=torchvision.datasets.LSUN('/home/data/',classes=['bedroom_val'])
aa=0
print(len(dataset))  ## 300
for img,number in dataset:
    print(number)  ##为0
    plt.imshow(img)
    break

如何使用torchvision,查pytorch官网

https://pytorch.org/vision/stable/datasets.html找LSUN,

得到https://pytorch.org/vision/stable/generated/torchvision.datasets.LSUN.html#torchvision.datasets.LSUN

3. 转wbpq格式保存查看

这一步不是必须的,需要的时候用把,是从https://github.com/fyu/lsun里摘出来的。

python。 复制代码
import argparse
import cv2
import lmdb
import numpy
import os
from os.path import exists, join

def export_images(db_path, out_dir, flat=False, limit=-1):
    print('Exporting', db_path, 'to', out_dir)
    env = lmdb.open(db_path, map_size=1099511627776,
                    max_readers=100, readonly=True)
    count = 0
    with env.begin(write=False) as txn:
        cursor = txn.cursor()
        for key, val in cursor:
            if not flat:
                image_out_dir = join(out_dir, '/'.join(key.decode('ascii')[:6]))
            else:
                image_out_dir = out_dir
            if not exists(image_out_dir):
                os.makedirs(image_out_dir)
            image_out_path = join(image_out_dir, key.decode('ascii') + '.webp')
            with open(image_out_path, 'wb') as fp:
                fp.write(val)
            count += 1
            if count == limit:
                break
            if count % 1000 == 0:
                print('Finished', count, 'images')

export_images('/home/data/bedroom_val_lmdb', './tmp')

这样图片就会存为如下样子

相关推荐
apocelipes12 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户83562907805114 小时前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent19 小时前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m6251 天前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
SelectDB2 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码2 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵2 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li2 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸3 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学3 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员