由于官网labels.mat与setid.mat无法直接下载,这里介绍一个通过request模块,通过复制两个mat文件url链接就可以正确下载的方式。
import requests url = 'https://www.robots.ox.ac.uk/~vgg/data/flowers/102/imagelabels.mat' url2 = 'https://www.robots.ox.ac.uk/~vgg/data/flowers/102/setid.mat' f = requests.get(url) with open('label.mat', 'wb') as code: code.write(f.content) f2 = requests.get('https://www.robots.ox.ac.uk/~vgg/data/flowers/102/setid.mat') with open('setid.mat', 'wb') as s: s.write(f2.content) print('Done')
通过上面的一小段代码就可正确的将两个标签文件下载下来。
下面读取并展示数据:
label_file = r"E:\Classification\flower102\flower102\label.mat" from scipy.io import loadmat label_array = loadmat(label_file) # 打印文件格式 print(type(label_array)) # 获取标签列表 print(label_array['labels'])