gpt4 book ai didi

python - 咖啡Python | GoogleNet 的低准确率可能是由于输入数据格式错误造成的?

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:55 26 4
gpt4 key购买 nike

我对 Caffe 和深度学习还很陌生,所以请容忍我的经验不足和幼稚的问题。现在,我想使用 FER2013 数据集来训练 GoogleNet(它由面部组成,其目的是识别面部所属的 7 个类别之一)。然而,数据不是图像格式,而是 48x48=2304 个值的数组,每个值在 0 到 255 之间。因此,为了创建为 Caffe 提供数据所需的 lmdb 文件,我编写了以下 Python 脚本来转换数组转换为真实图像。

import numpy as np
from PIL import Image
import csv
import itertools

with open('fer2013.csv', 'rb') as f:
mycsv = csv.reader(f)
i=0
for row in itertools.islice(mycsv, 340):
data = row[1]
data = data.split()
data = map(int, data)
data = np.array(data)
im = Image.fromarray(data.reshape((48,48)).astype('uint8')*255)
directory='imagestotest/'
path_to_save = directory+"image"+str(i)+".jpg"
path = "image"+str(i)+".jpg"
im.save(path_to_save)
i=i+1
with open("testset.txt", "a") as myfile:
myfile.write(path+" "+row[0]+"\n")

然后我使用以下命令准备 lmdb 文件

GLOG_logtostderr=1 ./deep-learning/caffe/build/tools/convert_imageset --resize_height=256 --resize_width=256 --shuffle /home/panos/Desktop/images/ /home/panos/Desktop/trainingset.txt /home/panos/Desktop/train_lmdb

最后,我计算 image_mean,更改 train_val.prototxt 并将 loss1、loss2、loss3 层设置为 num_output=7 (因为我有 7 个类,0-6)。

我运行我的模型(训练规模:5000 和测试规模:340),准确率相当令人失望,接近 23%(top-1)、88.8%(top-5)。

这可能是超参数配置问题,还是我的输入文件创建不正确? (因为我担心我的 Python cooking 技巧)

如果有帮助的话,我的主要 super 参数是:test_iter:7,test_interval:40,base_lr:0.001,momentum:0.9,weight_decay:0.0002。

提前致谢!

最佳答案

要使用预训练模型,您需要先从 here 下载 googlenet 模型。现在您可以使用此命令:

caffe train —solversolver.prototxt —weights bvlc_googlenet.caffemodel

训练的主要问题之一是权重初始化。如果没有正确的初始化,模型可能无法收敛,表现出较差的性能。您无法使用相同的值初始化所有权重。其他一些建议是权重应该是稀疏的、正交的、归一化的等。因此通常建议使用预训练模型中的权重。这可以称为迁移学习。权重初始化的详细信息可以参见this by karpathy 。您还可以查看What are good initial weights in a neural network?如果您想更深入地了解,请参阅以下论文。

[1] 本吉奥,约书亚。 “基于梯度的深度架构训练的实用建议。”神经网络:交易技巧。施普林格柏林海德堡,2012。437-478。

[2] LeCun, Y.、Bottou, L.、Orr, G. B. 和 Muller, K. (1998a)。高效的反向传播。在神经网络中,交易技巧。

[3] Glorot、Xavier 和 Yoshua Bengio。 “了解训练深度前馈神经网络的难度。”人工智能与统计国际 session 。 2010年。

关于python - 咖啡Python | GoogleNet 的低准确率可能是由于输入数据格式错误造成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43561454/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com