kaggle的一個表情識別的訓練集。
fer2013,通過pandas的read_csv得到的是這個類型 '<i8'
普通的,如果使用Image.open()打開一張圖,得到的是 '|u1'
PIL支持的就只有這些類型:
Image._fromarray_typemap is : {((1, 1), '|u1'): ('L', 'L'), ((1, 1), '|i1'): ('I', 'I;8'), ((1, 1), '<u2'): ('I', 'I;16'), ((1, 1), '>u2'): ('I', 'I;16B'), ((1, 1), '<i2'): ('I', 'I;16S'), ((1, 1), '>i2'): ('I', 'I;16BS'), ((1, 1), '<u4'): ('I', 'I;32'), ((1, 1), '>u4'): ('I', 'I;32B'), ((1, 1), '<i4'): ('I', 'I'), ((1, 1), '>i4'): ('I', 'I;32BS'), ((1, 1), '<f4'): ('F', 'F'), ((1, 1), '>f4'): ('F', 'F;32BF'), ((1, 1), '<f8'): ('F', 'F;64F'), ((1, 1), '>f8'): ('F', 'F;64BF'), ((1, 1, 2), '|u1'): ('LA', 'LA'), ((1, 1, 3), '|u1'): ('RGB', 'RGB'), ((1, 1, 4), '|u1'): ('RGBA', 'RGBA')}
python3.6,所以是Pillow,更新到最新,沒解決問題
PILLOW_VERSION = '4.2.1'
array的來源就是split的字符串,也不該有什麼綁定的屬性自動傳入array了(最開始以爲和編碼格式之類的有關係,所以跑偏了)
因爲是array帶的屬性,所以去看np.array的說明,這個應該就是array的數據類型,默認情況下,應該按滿足最低需求的來準備。代碼裏是dtype=int,可能因爲系統是64的,就算成64,自己主動指定dtype=np.int32,解決問題。