问题描述
我是新来者,现在正在学习机器学习。我的第一个项目是带有fer2013的VGG 16。但是,当我运行代码时,此行始终存在“不支持浮空的字符串”的错误: model.fit(X_train,y_train,batch_size = 32,epochs = 30,verbose = 1,validation_data =(X_test,y_test)) 我尝试了几种将CSV文件的数据转换为float的方法,但是它们没有用。有人知道如何解决吗? 这是我的完整代码:
import pandas as pd
import numpy as np
from keras.models import Sequential
from keras.layers.core import Flatten,Dense,Dropout
from keras.layers.convolutional import Convolution2D,MaxPooling2D,ZeroPadding2D
from keras.optimizers import SGD
from keras.utils import np_utils
import cv2
import keras
import csv
emotion_data = pd.read_csv('/content/drive/My Drive/Emotion_Detection /fer2013.csv')
emotion_data.head()
emotion_data.info()
X_train = []
y_train = []
X_test = []
y_test = []
for index,row in emotion_data.iterrows():
k = row['pixels'].split(" ")
if row['Usage'] == 'Training':
X_train.append(np.array(k))
y_train.append(row['emotion'])
elif row['Usage'] == 'PublicTest':
X_test.append(np.array(k))
y_test.append(row['emotion'])
X_train = np.array(X_train)
y_train = np.array(y_train)
X_test = np.array(X_test)
y_test = np.array(y_test)
X_train = X_train.reshape(X_train.shape[0],48,1)
X_test = X_test.reshape(X_test.shape[0],1)
y_train= np_utils.to_categorical(y_train,num_classes=7)
y_test = np_utils.to_categorical(y_test,num_classes=7)
model = Sequential()
model.add(ZeroPadding2D((1,1),input_shape=(48,1)))
model.add(Convolution2D(64,3,activation='relu'))
model.add(ZeroPadding2D((1,activation='relu'))
model.add(MaxPooling2D((2,2),strides=(2,2)))
model.add(ZeroPadding2D((1,1)))
model.add(Convolution2D(128,padding='same'))
model.add(ZeroPadding2D((1,1)))
model.add(Convolution2D(256,1)))
model.add(Convolution2D(512,padding='same'))
model.add(ZeroPadding2D((1,padding='same'))
model.add(Flatten())
model.add(Dense(4096,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4096,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(7,activation='softmax'))
model.compile(optimizer='sgd',loss='categorical_crossentropy',metrics=['accuracy'])
model.fit(X_train,y_train,batch_size=32,epochs=30,verbose=1,validation_data=(X_test,y_test))
loss_and_metrics = model.evaluate(X_test,y_test)
print(loss_and_metrics)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)