资讯详情

fer2013表情数据集

先将代码解压到成train、test、val3个csv文件

# -*- coding: utf-8 -*- import csv import os  database_path = r'C:\Users\zhoutao\Downloads\fer2013' datasets_path = r'C:\Users\zhoutao\Downloads\fer2013\dataset' csv_file = os.path.join(database_path, 'fer2013.csv') train_csv = os.path.join(datasets_path, 'train.csv') val_csv = os.path.join(datasets_path, 'val.csv') test_csv = os.path.join(datasets_path, 'test.csv')   with open(csv_file) as f:     csvr = csv.reader(f)     header = next(csvr)     rows = [row for row in csvr]      trn = [row[:-1] for row in rows if row[-1] == 'Training']     #防止空行     csv.writer(open(train_csv, 'w ',newline='', encoding='utf-8-sig')).writerows([header[:-1]]   trn)     print(len(trn))      val = 
      
       [row
       [
       :
       -
       1
       ] 
       for row 
       in rows 
       if row
       [
       -
       1
       ] 
       == 
       'PublicTest'
       ] csv
       .writer
       (
       open
       (val_csv
       , 
       'w+'
       ,newline
       =
       ''
       , encoding
       =
       'utf-8-sig'
       )
       )
       .writerows
       (
       [header
       [
       :
       -
       1
       ]
       ] 
       + val
       ) 
       print
       (
       len
       (val
       )
       ) tst 
       = 
       [row
       [
       :
       -
       1
       ] 
       for row 
       in rows 
       if row
       [
       -
       1
       ] 
       == 
       'PrivateTest'
       ] csv
       .writer
       (
       open
       (test_csv
       , 
       'w+'
       ,newline
       =
       ''
       , encoding
       =
       'utf-8-sig'
       )
       )
       .writerows
       (
       [header
       [
       :
       -
       1
       ]
       ] 
       + tst
       ) 
       print
       (
       len
       (tst
       )
       ) 
      

然后将图片还原为jpg图片

# -*- coding: utf-8 -*-
import csv
import os
from PIL import Image
import numpy as np


datasets_path = r'C:\Users\zhoutao\Downloads\fer2013\dataset'
train_csv = os.path.join(datasets_path, 'train.csv')
val_csv = os.path.join(datasets_path, 'val.csv')
test_csv = os.path.join(datasets_path, 'test.csv')

train_set = os.path.join(datasets_path, 'train')
val_set = os.path.join(datasets_path, 'val')
test_set = os.path.join(datasets_path, 'test')

for save_path, csv_file in [(train_set, train_csv), (val_set, val_csv), (test_set, test_csv)]:
    if not os.path.exists(save_path):
        os.makedirs(save_path)

    num = 1
    with open(csv_file) as f:
        csvr = csv.reader(f)
        header = next(csvr)
        for i, (label, pixel) in enumerate(csvr):
            pixel = np.asarray([float(p) for p in pixel.split()]).reshape(48, 48)
            subfolder = os.path.join(save_path, label)
            if not os.path.exists(subfolder):
                os.makedirs(subfolder)
            im = Image.fromarray(pixel).convert('L')
            image_name = os.path.join(subfolder, '{:05d}.jpg'.format(i))
            print(image_name)
            im.save(image_name)

标签: fer连接电缆meto

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台