作业所需数据 akti
作业参考答案
作业要求
本次作业是一个图像识别任务,要将所给的食物图片分类,共有十一种,图片对应的食物编号在图片名字的前缀上。本此作业需要用到的是卷积神经网络cnn,以pytorch实现,由于任务较简单,所以使用的网络结构并不复杂。
数据处理
先总结一下对数据的处理步骤。
读取文件,提取标签
def readfile(path, label):
# label 是一個 boolean variable,代表需不需要回傳 y 值
image_dir = sorted(os.listdir(path))
x = np.zeros((len(image_dir), 128, 128, 3), dtype=np.uint8)
y = np.zeros((len(image_dir)), dtype=np.uint8)
for i, file in enumerate(image_dir):
img = cv2.imread(os.path.join(path, file))
x[i, :, :] = cv2.resize(img,(128, 128))
if label:
y[i] = int(file.split("_")[0])
if label:
return x, y
else:
return x
数据增强,对图片随机翻转,旋转。
train_transform = transforms.Compose([
transforms.ToPILImage(),
transforms.RandomHorizontalFlip(), #隨機將圖片水平翻轉
transforms.RandomRotation(15)

这是一个图像识别任务,使用PyTorch实现卷积神经网络(CNN)对食物图片进行分类。数据处理包括读取文件、提取标签和数据增强。模型结构相对简单,利用Dataset和DataLoader组织数据,通过池化和卷积操作进行特征提取。
最低0.47元/天 解锁文章
2762

被折叠的 条评论
为什么被折叠?



