face_classification icon indicating copy to clipboard operation
face_classification copied to clipboard

run train_gender_classifier.py in spyder(windows10,python3),get a input data error!

Open CodeCat-Q opened this issue 6 years ago • 1 comments

### ValueError: No data provided for "input_4". Need data for each key in: ['input_4']

details: Traceback (most recent call last):

File "", line 1, in runfile('E:/Python_Space/face_classification-master/src/train_gender_classifier.py', wdir='E:/Python_Space/face_classification-master/src')

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile execfile(filename, namespace)

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile exec(compile(f.read(), filename, 'exec'), namespace)

File "E:/Python_Space/face_classification-master/src/train_gender_classifier.py", line 92, in validation_steps=int(len(val_keys) / batch_size))

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper return func(*args, **kwargs)

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 1418, in fit_generator initial_epoch=initial_epoch)

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training_generator.py", line 217, in fit_generator class_weight=class_weight)

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 1211, in train_on_batch class_weight=class_weight)

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training.py", line 751, in _standardize_user_data exception_prefix='input')

File "D:\Anaconda3\envs\tensorflow\lib\site-packages\keras\engine\training_utils.py", line 78, in standardize_input_data 'for each key in: ' + str(names))

ValueError: No data provided for "input_4". Need data for each key in: ['input_4']

the exception occur in standardize_input_data() of training_utils.py: if isinstance(data, dict): try: data = [ data[x].values if data[x].class.name == 'DataFrame' else data[x] for x in names ] except KeyError as e: raise ValueError('No data provided for "' + e.args[0] + '". Need data ' 'for each key in: ' + str(names))

but i run it in cmd environment, it didnot get the error. why??? please someone can help me!

CodeCat-Q avatar Feb 27 '19 03:02 CodeCat-Q

it runs using cmd because you need to provide an argument in cmd. While in spyder you are not providing an argument and thus raising a value missing error.

VirajDeshwal avatar Feb 28 '19 22:02 VirajDeshwal