作为背景,我对机器学习领域相对较新,我正在尝试一个项目,目标是对 NBA 比赛中的比赛进行分类。我的输入是来自 NBA 比赛中每场比赛的 40 帧序列,我的标签是给定比赛的 11 个包罗万象的分类。
该计划是获取每个帧序列并将每个帧传递到 CNN 以提取一组特征。然后来自给定视频的每个特征序列将被传递到 RNN。
我目前在我的大部分实现中使用 Keras,并且我选择为我的 CNN 使用 VGG16 模型。下面是一些相关代码:
video = keras.Input(shape = (None, 255, 255, 3), name = 'video')
cnn = keras.applications.VGG16(include_top=False, weights = None, input_shape=
(255,255,3), pooling = 'avg', classes=11)
cnn.trainable = True
我的问题是——如果我的目标是对 NBA 比赛的视频片段进行分类,将 VGG16 ConvNet 的权重初始化为“imagenet”对我来说仍然有益吗?如果是这样,为什么?如果没有,我如何训练 VGG16 ConvNet 以获得我自己的权重集,然后如何将它们插入到这个函数中?我很难找到任何教程,其中有人在使用 VGG16 模型时包含了他们自己的权重集。
如果我的问题看起来很幼稚,我深表歉意,但我非常感谢任何帮助解决这个问题。