Tensorflow機器學習入門——cifar10數據集的讀取、展示與保存


  • 基本信息
  • 數據集下載解壓后的目錄結構:
  • 讀取、打印和保存數據集中指定的圖片:
    import pickle
    import matplotlib.pyplot as plt
    
    CIFAR_DIR ="cifar10_data/cifar-10-batches-bin/data_batch_1.bin"#數據集路徑
    with open(CIFAR_DIR , 'rb') as f:
        data = pickle.load(f, encoding='bytes')
    
    print('----------batch1的基本信息-------------')    
    print('data的數據類型:',type(data)) # 輸出 <class 'dict'>
    print('字典的key名稱:',data.keys()) # 輸出 dict_keys([b'filenames', b'data', b'labels', b'batch_label'])
    print('bdata的數據類型',type(data[b'data'])) # 輸出 <class 'numpy.ndarray'>
    print('bdata的數據形狀',data[b'data'].shape) # 輸出 (10000, 3072) 說明有 10000 個樣本, 3072個特征
    
    index=4#打印第幾張圖片
    print('-----------第%d張圖片信息----------'%index)
    print('filenames:',data[b'filenames'][index])
    print('labels:',data[b'labels'][index])
    print('batch_label:',data[b'batch_label'][index])
    image_arr = data[b'data'][index] # 拿出 第 index 個樣本
    image_arr = image_arr.reshape((3, 32, 32)) # 將一維向量改變形狀得到這樣一個元組:(高,寬,通道數)
    image_arr = image_arr.transpose((1, 2, 0)) 
    plt.imshow(image_arr) # 輸出圖片
    plt.savefig("cifar10_data/raw/%d.png"%index)#保存圖片
    plt.show()
  • 打印出的圖片
  •  

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM