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

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

相关推荐
蓝天星空15 分钟前
Python调用open ai接口
人工智能·python
jasmine s24 分钟前
Pandas
开发语言·python
郭wes代码24 分钟前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf42 分钟前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound1 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx1 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe1 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
落魄实习生1 小时前
AI应用-本地模型实现AI生成PPT(简易版)
python·ai·vue·ppt
苏言の狗1 小时前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习