Nvidia 深度学习认证

抽取ImageNet数据集进行数据增强 评估新鲜及腐烂水果,苹果香蕉橘子 (6神经元)

加载预训练模型(vgg16)ImageNet -》冻结基本模型 -》向预训练模型添加层对齐输入输出 -》编译模型(训练多类别)-》扩充数据 改进数据集 -》加载训练 -》解冻并微调 - 》评估

from tensorflow import keras

​
base_model = keras.applications.VGG16(
    weights='imagenet',
    input_shape=(224, 224, 3),
    include_top=False)
# Create inputs with correct shape
inputs = keras.Input(shape = (224,224,3))
​
x = base_model(inputs, training=False)
​
# Add pooling layer or flatten layer
x = keras.layers.GlobalAveragePooling2D()(x)
x = keras.layers.Dense(512, activation='relu')(x)
​
# Add final dense layer
outputs = keras.layers.Dense(6, activation = 'softmax')(x)
​
# Combine inputs and outputs to create model
model = keras.Model(inputs,outputs)
model.summary()
model.compile(loss = keras.losses.CategoricalCrossentropy(),
              metrics = keras.metrics.CategoricalAccuracy())
from tensorflow.keras.preprocessing.image import ImageDataGenerator
​
datagen_train = ImageDataGenerator(samplewise_center=True,
    rotation_range=10,
    zoom_range=0.1, 
    width_shift_range=0.1,  
    height_shift_range=0.1,  
    horizontal_flip=True,  
    vertical_flip=True)
datagen_valid = ImageDataGenerator(samplewise_center=True)
"
# load and iterate training dataset
train_it = datagen_train.flow_from_directory(
    "data/fruits/train/",
    target_size=(224,224),
    color_mode="rgb",
    class_mode="categorical",
)
# load and iterate validation dataset
valid_it = datagen_valid.flow_from_directory(
    "data/fruits/valid/",
    target_size=(224,224),
    color_mode="rgb",
    class_mode="categorical",
)
loss = FIXME , metrics = FIXME
# Unfreeze the base model
base_model.trainable = True
​
# Compile the model with a low learning rate
model.compile(optimizer=keras.optimizers.RMSprop(learning_rate = 1e-5),
              loss=keras.losses.CategoricalCrossentropy(),
               metrics=[keras.metrics.CategoricalAccuracy()])
5
model.fit(train_it,
          validation_data=valid_it,
          steps_per_epoch=train_it.samples/train_it.batch_size,
          validation_steps=valid_it.samples/valid_it.batch_size,
          epochs=5)
from run_assessment import run_assessment
run_assessment(model, valid_it)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值