Descarga y procesamiento de conjuntos de datos BSD500

Primero, use urllib para obtener los datos, escriba un archivo comprimido, almacene los datos y descomprima el archivo comprimido para formar un directorio con datos. 



from os.path import exists, basename, join
from os import makedirs, remove
from six.moves import urllib
import tarfile
class download_basd300(object):
    def __init__(self, dest="dataset"):
        self.output_image_dir = join(dest, 'BSD500/images')

        if not exists(self.output_image_dir):
            makedirs(self.output_image_dir)
            url = "http://www2.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/BSDS300-images.tgz"

            print("download url", url)

            data = urllib.request.urlopen(url)

            file_path = join(dest, basename(url))
            
            with open(file_path, 'wb') as f:
                f.write(data.read())

            print('Extracting data')
            with tarfile.open(file_path) as tar:
                for item in tar:
                    tar.extract(item, dest)

            remove(file_path)
            self.get()

    def get(self):
        return self.output_image_dir

dataset = download_basd300()

 

Supongo que te gusta

Origin blog.csdn.net/weixin_40823740/article/details/115317377
Recomendado
Clasificación