下载和使用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')

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

相关推荐
X56612 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
ZhengEnCi2 小时前
03ab-PyTorch安装教程 📚
python
狐狐生风3 小时前
LangChain 向量存储:Chroma、FAISS
人工智能·python·学习·langchain·faiss·agentai
狐狐生风3 小时前
LangChain RAG 基础
人工智能·python·学习·langchain·rag·agentai
老前端的功夫4 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
yaoxin5211234 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dFObBIMmai4 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw04 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
小白学大数据4 小时前
Python 自动化爬取网易云音乐歌手歌词实战教程
爬虫·python·okhttp·自动化
风之所往_6 小时前
Python 3.0 新特性全面总结
python