代码之家  ›  专栏  ›  技术社区  ›  Niteya Shah

准确度保持在50%KERAS

  •  1
  • Niteya Shah  · 技术社区  · 6 年前

    代码

    导入numpy as np 来自keras.preprocessing.image import imagedatagenerator 从keras.models导入序列,模型 从keras.layers导入退出、展平、密集、输入 从Keras导入应用程序 来自keras.preprocessing导入图像 从keras导入后端作为k k.设置图像尺寸排序(‘tf’) #我们图像的尺寸。 img_宽度,img_高度=150150 top_model_weights_path='瓶颈_fc_model.h5' train_data_dir='猫和狗数据集/列车' validation_data_dir='猫和狗数据集/验证' Nb_火车样本=20000 nb_验证_样本=5000 纪元=50 巴契尺寸=16 输入张量=输入(形状=(150150,3)) base_model=applications.vg16(包括_top=false,weights='imagenet',input_tensor=input_tensor) 对于基础层中的层\model.layers: layer.trainable=错误 top_model=sequential()。 top_model.add(平展(input_shape=base_model.output_shape[1:])) top_model.add(密集(256,activation=“relu”)) Top_Model.Add(退出(0.5)) top_model.add(密集(1,激活='SoftMax')) 顶层模型。加载权重(顶层模型权重路径) 模型=模型(输入=基本\模型.输入,输出=顶部\模型(基本\模型.输出)) datagen=imagedatagenerator(重新缩放=1.255 train_data=datagen.flow_from_directory(train_data_dir,target_size=(img_width,img_height),batch_size=batch_size,classes=['dogs','cats'],class_mode=“binary”,shuffle=false) validation_data=datagen.flow_from_directory(validation_data_dir,target_size=(img_width,img_height),classes=[‘dogs’,‘cats’],batch_size=batch_size,class_mode=“binary”,shuffle=false) model.compile(optimizer='adam',loss='binary_cross熵',metrics=['accuracy']) model.fit_生成器(train_data,steps_per_epoch=nb_train_samples//batch_size,epoch=epoch,validation_data=validation_data,shuffle=false,verbose= < /代码>

    我已经使用keras(使用vggg16网络学习的传输)在猫和狗数据集( https://www.kaggle.com/c/dogs-vs-cats/data )上实现了图像分类器。代码运行无误,但精度在半个世纪内保持在0.0%左右,半个世纪后精度提高到50%。我用原子加氢。

    如何解决这个问题。我真的不认为我对vg16这样的数据集有偏见(尽管我对这个领域比较陌生)。

    我已经在猫狗数据集上实现了一个图像分类器( https://www.kaggle.com/c/dogs-vs-cats/data )使用keras(使用vgg16网络学习传输)。代码运行无误,但精度在半个世纪内保持在0.0%左右,半个世纪后精度提高到50%。我在用氢原子。

    My directory

    Results of execution

    如何解决这个问题。我真的不认为我对vg16这样的数据集有偏见(尽管我对这个领域比较陌生)。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Ioannis Nasios    6 年前

    top_model.add(Dense(1,activation='softmax')) 
    

    top_model.add(Dense(1,activation='sigmoid'))