Exercise 4 - Handling Complex Images
Exercise 4 - Handling Complex Images
下面是代码,链接到一个包含 80 张图像(40 张快乐图像和 40 张悲伤图像)的快乐或悲伤数据集。创建一个卷积神经网络,对这些图像进行 100%准确率的训练,当训练准确率大于 0.999 时取消训练。
提示:最好使用 3 个卷积层。
import tensorflow as tf
import os
import zipfile
DESIRED_ACCURACY = 0.999
#直接ulr下载
#!wget --no-check-certificate \
# "https://storage.googleapis.com/learning-datasets/happy-or-sad.zip" \
# -O "/tmp/happy-or-sad.zip"
zip_ref = zipfile.ZipFile("./tmp/happy-or-sad.zip", 'r')
zip_ref.extractall("./tmp/h-or-s")
zip_ref.close()
# Your Code
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self, epoch, logs={}):
if(logs.get('accuracy')>DESIRED_ACCURACY):
print("\nReached 99.9% accuracy so cancelling training!")
self.model.stop_training = True
callbacks = myCallback()
# 该代码块应定义并编译模型
model = tf.keras.models.Sequential([
# Your Code Here
tf.keras.layers.Conv2D(16, (3,3), activation='relu', input_shape=(150, 150, 3)),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(32, (3,3), activation='relu'),
tf.keras.layers.MaxPooling2D(2,2),
tf.keras.layers.Conv2D(32, (3,3), activation='relu'),
tf.keras.layers.MaxPooling2D(2,2),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
from tensorflow.keras.optimizers import RMSprop
# Your Code Here #
model.compile(loss='binary_crossentropy',
optimizer=RMSprop(lr=0.001),
metrics=['accuracy'])
# 该代码块应创建一个名为 train_datagen 的 ImageDataGenerator 实例
# 并通过调用 train_datagen.flow_from_directory 创建 train_generator
from tensorflow.keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale=1/255) # Your Code Here
train_generator = train_datagen.flow_from_directory(
"./tmp/h-or-s",
target_size=(150, 150),
batch_size=10,
class_mode='binary')
# Your Code Here)
# 预期输出: 找到属于 2 个类别的 80 幅图像
# 该代码块应调用 model.fit 并训练
# 若干次历时。
history = model.fit(
train_generator,
steps_per_epoch=8,
epochs=15,
verbose=1,
callbacks=[callbacks])
# Your Code Here)
# 预期输出: "准确率达到 99.9%,因此取消训练!"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下