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

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

相关推荐
青春不败 177-3266-052016 分钟前
基于R、Python的Copula变量相关性分析及AI大模型应用
人工智能·python·r语言·贝叶斯·统计学·copula
汤姆yu44 分钟前
基于python大数据的高校舆情监测系统的设计与实现
大数据·开发语言·python·分享·分析·舆情
Cory.眼1 小时前
Python爬虫实战:从入门到进阶
开发语言·爬虫·python
qq_422152571 小时前
Token到底是什么?Tokenizer分词机制与中文token开销入门科普
人工智能·python·深度学习
buyue__1 小时前
Python实现连接MySQL数据库并执行目录下的所有SQL文件,遇到错误时终止执行。
python·mysql
SuperByteMaster2 小时前
autosar 架构脚本提示语
python
Zane19942 小时前
钻石继承调用哪个方法?一文讲透 MRO 与 C3 线性化算法
后端·python
kevinnett2 小时前
图片生成跑到一半“失踪”了:我重新设计了异步任务状态机
python
小白勇闯网安圈2 小时前
Django 模板复用、ORM 查询与多对多关系
数据库·python·django
TheBestRucy2 小时前
基于Dify的旅游攻略&王者荣耀攻略智能助手项目
服务器·开发语言·人工智能·python·算法·旅游