怎麼用python檢視cifar資料集

2021-08-14 01:19:21 字數 2242 閱讀 7791

相信很多上過cs231n課程的人都嘗試過檢視cifar10資料集,但是問題特別多,而且報錯。下面給出完整的**,這個是修改過的。

import numpy as np

import os

defload_cifar_batch

(filename):

with open(filename,'rb') as f :

#這裡面和原來的不一樣,原來的,encoding='bytes'但是會報錯

datadict=pickle.load(f,encoding='latin1')

x=datadict[b'data']

y=datadict[b'labels']

x=x.reshape(10000,3,32,32).transpose(0,2,3,1).astype('float')

y=np.array(y)

return x,y

defload_cifar10

(root):

xs=ys=

#range(1,6)的話資料集會特別大大概需要空間2g左右,如果你不想弄這麼多就直接range(1,2)讀取乙個資料集的資料

for b in range(1,6):

f=os.path.join(root,'data_batch_%d' % (b,))

x,y=load_cifar_batch(f)

xtrain=np.concatenate(xs) #1

ytrain=np.concatenate(ys)

del x ,y

xtest,ytest=load_cifar_batch(os.path.join(root,'test_batch')) #2

return xtrain,ytrain,xtest,ytest

#1 將5份訓練集轉成陣列。

#2 將1分測試集轉化為資料

將這份這份**另存為data_utils.py接下來就要進行模型的訓練和**。

下面給出資料集載入模型**

import numpy as np

from data_utils import load_cifar10

import matplotlib.pyplot as plt

from knn import knearestneighbor

x_train,y_train,x_test,y_test=load_cifar10('cifar-10-batches-py')

print('training data shape:',x_train.shape)

print('training labels shape:',y_train.shape)

print('test data shape:',x_test.shape)

print('test labels shape:',y_test.shape)

結果如下

training data shape: (50000, 32, 32, 3)

training labels shape: (50000,)

test data shape: (10000, 32, 32, 3)

test labels shape: (10000,)

最後怎麼展示,下面是展示的**

classes=['plane','car','bird','cat','deer','dog','frog','horse','ship','truck']

num_claesses=len(classes)

samples_per_class=7

for y ,cls in enumerate(classes):

idxs=np.flatnonzero(y_train==y)

idxs=np.random.choice(idxs,samples_per_class,replace=false)

for i ,idx in enumerate(idxs):

plt_idx=i*num_claesses+y+1

plt.subplot(samples_per_class,num_claesses,plt_idx)

plt.imshow(x_train[idx].astype('uint8'))

plt.axis('off')

if i ==0:

plt.title(cls)

plt.show()

用python怎麼讀檔案 python怎麼讀檔案

python怎麼讀檔案?首先,在桌面上建立乙個txt文件,在上面輸入以下內容 你好。hello.abcdefg 啊不錯的風格 推薦 python教程 檢視檔案的屬性,獲取檔案的絕對路徑 d hintsoft hint w7 desktop 檔名是 新建文字文件.txt,用python開啟這個檔案,並...

python反射怎麼用

反射 通過字串的形式對 物件 進行增刪改查 class a object def init self self.name sath def get self print get a a setattr a,age 37 setattr object,attribute,value object.at...

Python怎麼檢視幫助資訊

help 一 不同的環境下 1.互動模式下 命令列 檢視模組的幫助資訊 python view plain copy print?import pickle help pickle 可以看到詳細資訊,more 上回車,滾動資訊。q 退出幫助 2.ide裡,需要做乙個輸出。python view pl...