TensorFlow 中文社区,TensorFlow安装,TensorFlow教程,机器学习,人工智能,深度学习,神经网络,计算机视觉,自然语言处理,GitHub

 找回密码
 立即注册
查看: 1162|回复: 8

大佬们,训练keras网络出错,求指点啊

[复制链接]

2

主题

7

帖子

124

积分

注册会员

Rank: 2

积分
124
发表于 2017-11-23 16:57:48 | 显示全部楼层 |阅读模式

model.fit_generator(generator=gendata, samples_per_epoch=BatchSize*3, nb_epoch=2, validation_data=set)
Traceback (most recent call last):
  File "chineseCharGenerator_read.py", line 541, in <module>
    TrainingWithRead()
  File "chineseCharGenerator_read.py", line 518, in TrainingWithRead
    model.fit_generator(generator=gendata, samples_per_epoch=BatchSize*3, nb_epoch=2, validation_data=set)
  File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 1121, in fit_generator
    initial_epoch=initial_epoch)
  File "/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py", line 87, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1978, in fit_generator
    val_x, val_y, val_sample_weight)
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1382, in _standardize_user_data
    exception_prefix='target')
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 144, in _standardize_input_data
    str(array.shape))
ValueError: Error when checking target: expected activation_4 to have shape (None, 2198) but got array with shape (2198, 1)
回复

使用道具 举报

108

主题

287

帖子

29万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
293340
发表于 2017-11-23 17:01:29 | 显示全部楼层
ValueError: Error when checking target: expected activation_4 to have shape (None, 2198) but got array with shape (2198, 1)

你好,错误在这里,他需要的是(None, 2198) ,你给的是  (2198, 1),尝试把这个向量,第一层 和第二层,互相换一下。
回复

使用道具 举报

2

主题

7

帖子

124

积分

注册会员

Rank: 2

积分
124
 楼主| 发表于 2017-11-23 17:08:38 | 显示全部楼层
admin 发表于 2017-11-23 17:01
ValueError: Error when checking target: expected activation_4 to have shape (None, 2198) but got arr ...

img_rows, img_cols = 48, 48
    # number of convolutional filters to use
    nb_filters = 32
    # size of pooling area for max pooling
    nb_pool = 2
    # convolution kernel size
    nb_conv = 4
    # x = np.load('x.npy')
    # y = np_utils.to_categorical(range(3062)*45*5*2, nb_classes)
    # weight = ((type_class - np.arange(type_class)) / type_class + 1) ** 3
    # weight = dict(zip(range(3063), weight / weight.mean()))  # 调整权重,高频字优先

    model = Sequential()
    model.add(Convolution2D(nb_filters, nb_conv, nb_conv,
                            border_mode='valid',
                            input_shape=( img_rows, img_cols,1)))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
    model.add(Dropout(0.25))
    model.add(Convolution2D(nb_filters, nb_conv, nb_conv))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
    model.add(Dropout(0.25))
    model.add(Flatten())
    model.add(Dense(1024))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))
    model.add(Dense(nb_classes))
    model.add(Activation('softmax'))
    model.compile(loss='categorical_crossentropy',
                  optimizer='adam',
                  metrics=['accuracy'])
回复

使用道具 举报

2

主题

7

帖子

124

积分

注册会员

Rank: 2

积分
124
 楼主| 发表于 2017-11-23 17:09:13 | 显示全部楼层
admin 发表于 2017-11-23 17:01
ValueError: Error when checking target: expected activation_4 to have shape (None, 2198) but got arr ...

大佬,我的模型建立是这个样子的
回复

使用道具 举报

108

主题

287

帖子

29万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
293340
发表于 2017-11-23 17:10:11 | 显示全部楼层
大佬,你这个网络是自己写的吗?

keras 我不是很熟。你搜一下,相关的  API ,现在的问题就是一个 (2198, 1) 换成  (None, 2198) 。
回复

使用道具 举报

108

主题

287

帖子

29万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
293340
发表于 2017-11-23 17:12:51 | 显示全部楼层
对了,我想起来了,Keras 中间的维度是自动计算的,你应该是数据给的时候就给反了。
回复

使用道具 举报

2

主题

7

帖子

124

积分

注册会员

Rank: 2

积分
124
 楼主| 发表于 2017-11-23 17:35:59 | 显示全部楼层
admin 发表于 2017-11-23 17:12
对了,我想起来了,Keras 中间的维度是自动计算的,你应该是数据给的时候就给反了。 ...

大佬,不知道怎么改啊
我看了输入应该莫得问题,前面的几层都莫得问题
回复

使用道具 举报

108

主题

287

帖子

29万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
293340
发表于 2017-11-23 17:42:20 | 显示全部楼层
云淡风轻 发表于 2017-11-23 17:35
大佬,不知道怎么改啊
我看了输入应该莫得问题,前面的几层都莫得问题 ...

把你的输入的维度改一下,不用看前几层。
回复

使用道具 举报

1

主题

3

帖子

81

积分

注册会员

Rank: 2

积分
81
发表于 2018-1-13 14:13:44 | 显示全部楼层
数组格式没有对齐
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|TensorFlow,TensorFlow安装,TensorFlow教程,机器学习,人工智能,深度学习,神经网络,计算机视觉,自然语言处理

GMT+8, 2018-8-16 15:55 , Processed in 0.106275 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表