Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 使用MobileNetV1的多数字分类器_Tensorflow_Neural Network_Conv Neural Network_Text Classification_Mobilenet - Fatal编程技术网

Tensorflow 使用MobileNetV1的多数字分类器

Tensorflow 使用MobileNetV1的多数字分类器,tensorflow,neural-network,conv-neural-network,text-classification,mobilenet,Tensorflow,Neural Network,Conv Neural Network,Text Classification,Mobilenet,我想训练一个模型能够对图像中的16位数进行分类,位数是常量。因此,我创建了类似这些图像的数据集(在SUN数据集背景上以不同字体和大小随机打印16个数字): 我的训练数据集是大约3000张图片和600张图片进行验证 所以我想使用MobileNetV1作为功能提取器,并为每个数字连接到16个softmax输出层 下面是我创建模型的代码片段 base_model = MobileNet(input_shape=None, alpha=0.25,

我想训练一个模型能够对图像中的16位数进行分类,位数是常量。因此,我创建了类似这些图像的数据集(在SUN数据集背景上以不同字体和大小随机打印16个数字):

我的训练数据集是大约3000张图片和600张图片进行验证

所以我想使用MobileNetV1作为功能提取器,并为每个数字连接到16个softmax输出层

下面是我创建模型的代码片段

base_model = MobileNet(input_shape=None,
                           alpha=0.25,
                           depth_multiplier=1,
                           include_top=False,
                           weights='imagenet,
                           input_tensor=None,
                           pooling=None)

    x = base_model.output
    x = layers.AvgPool2D()(x)
    digits = []
    for i in range(16):
        temp = layers.Conv2D(10, 1, 1, padding='same', name=str(i) + '_digits')(x)

        temp = layers.Dense(10, activation='softmax')(temp)
        digits.append(temp)

    model = Model(inputs=base_model.inputs, outputs=digits)
    model.compile(optimizer=optimizers.RMSprop(), loss='categorical_crossentropy',
                  metrics=['accuracy'])
因此,我的数据集图片大小为(650,65),序列张量形状为(3000650,65,3),归一化值介于-1和1之间

我的火车标签是16个一个热张量的数组,形状为(163000,10)

我的模型编译成功并开始训练,但我的损失和val_损失在这段时间内并没有得到改善

基本上我想创建这样的模型,因为这个模型在数字分类问题上工作得很好。


此模型体系结构的顶部类似于MobileNetV1,输入是大小调整器和规格化器块。

您是否尝试过减少学习rate@TT:谢谢你的回复,没有,我会试试的,以防万一,我的模型看起来还可以吗?@Shayantabaee:我认为使用目标检测比使用图像分类更有效。要了解有关对象检测的更多信息,可以参考链接或链接。在您的情况下,边界框,即第一个数字、第二个数字的位置等。。将几乎是固定的,这样可以节省大量的精力。谢谢@TensorflowSupport:谢谢,我会试试看你是否尝试过减少学习rate@TT:谢谢回复,不,我没有,我会试试,以防万一我的模型看起来没问题吗?@ShayanTabatabaee:我认为使用目标检测比使用图像分类更有效。要了解有关对象检测的更多信息,可以参考链接或链接。在您的情况下,边界框,即第一个数字、第二个数字的位置等。。将几乎是固定的,这样可以节省大量的精力。谢谢@谢谢,我会试试的