我的意思是,如果在 n
模型中输入一个信号模型,它会给出 n
输出吗?然而,当我尝试使用瓶颈模型(使用VGG16 convnet构建在其上)时,VGG16 convnet返回的输出少于输入数量16 .
这是控制台输出:
import numpy as np train_data = np.load(open('bottleneck_features_train.npy'))train_data.shape(8384,7,7,512)validation_data = np.load(open('bottleneck_features_validation.npy'))validation_data.shape (3584,7,7,512)
生成此输出的脚本可以在here找到 .
上述脚本的堆栈跟踪 .
使用Theano后端 . 从https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5下载数据发现属于120个类的8400个图像 . 保存火车功能......找到了属于120个 class 的3600张图像 . 保存测试功能...培训顶层...编译瓶颈模型...培训瓶颈模型...回溯(最近一次调用最后一次):文件“pretrained_network.py”,第87行,在train_top_model()文件“pretrained_network . py“,第82行,在train_top_model validation_data =(validation_data,validation_labels))文件”/home/ashish/ml-projects/venv/local/lib/python2.7/site-packages/keras/models.py",line 845 ,在fit initial_epoch = initial_epoch)文件“/home/ashish/ml-projects/venv/local/lib/python2.7/site-packages/keras/engine/training.py”,第1405行,in fit batch_size = batch_size)文件“/home/ashish/ml-projects/venv/local/lib/python2.7/site-packages/keras/engine/training.py”,第1307行,_standardize_user_data _check_array_lengths(x,y,sample_weights)文件“/ home / ashish / ml-projects / venv / local / lib / python2.7 / site-packages / keras / engine / training.py“,第229行,在_check_array_lengths'和'str(list(set_y)[0])'目标样本 . ')ValueError:输入数组应具有相同的sa数作为目标数组 . 找到8384个输入样本和8400个目标样本 .
1 回答
问题在于,例如在你的脚本中:
它应该改为:
如果没有这个,
generator
的调用次数不够多 .