问题标签 [transfer-learning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 我无法使我的数据集适应 VGG-net,大小不匹配
我正在尝试在我的脚本中实现预训练的 VGG 网络,以便从我的 RGB [256,256] 数据集中识别人脸,但我得到了“大小不匹配,m1:[1 x 2622],m2: [4096 x 2]”即使我正在调整我的图像大小它也不起作用,因为你可以看到我的代码与 resnet 和 alexnet 一起工作。
我尝试使用 interpolate 函数调整图像大小,但大小不匹配仍然存在。
例如,这是另一个代码,我在其中正确使用了我的 VGG 和一些随机图像
我遇到的错误是
这是我正在使用的 VGG 网络
machine-learning - 迁移学习:标记差异
我只是在观看有关迁移学习的视频(如果您的数据集很小,则在较大的类似数据集上训练模型)。我对不同的数据集标签如何不干扰迁移学习感到困惑。
我知道如果您的目标任务(比如模糊的猫照片)只有少量数据(我们称之为这个Dataset A
)但有一个具有相似数据的大型数据集(我们称之为这个Dataset B
,专业拍摄的集合),通常会使用迁移学习而不是模糊的狼照片)并且其低级特征可用于学习Dataset A
(直觉是相同的边缘和曲线检测/其他有助于检测狼的低级特征Dataset B
也有助于检测猫Dataset A
)。据我了解,您将首先在 上训练神经网络Dataset B
,然后将最后一层的权重设置为随机,并保持所有其他参数不变,然后重新训练Dataset A
。但鉴于标签方案Dataset B
将是狼的标签,Dataset A
而猫的标签,标签上的差异不会引起问题吗?
machine-learning - 为什么我需要在迁移学习中预训练权重
我正在使用一些预训练的模型(vgg16、vgg19、...)来学习迁移学习,我想知道为什么我需要加载预训练的权重来训练我自己的数据集。
我可以理解我的数据集中的类是否包含在训练预训练模型的数据集中。比如VGG模型在Imagenet数据集中训练了1000个类,我的模型是对猫狗进行分类,猫狗也在Imagenet数据集中。但是这里我的数据集中的类不在这个数据集中。那么预训练的重量如何提供帮助呢?
pytorch - 微调大型模型时 CUDA 内存不足
我之前分别训练了一个 VGG 模式(比如 model1)和一个两层模型(比如 model2),现在我必须训练一个将这两个模型结合在一起的新模型,并且新模型的每个部分都用所学的初始化model1 和 model2 的权重,我实现如下:
在训练时,我尝试:
在第一个时期的第二次迭代(batch_num=1)中,我得到了这个错误:
CUDA 内存不足。尝试分配 153.12 MiB(GPU 0;5.93 GiB 总容量;4.83 GiB 已分配;66.94 MiB 空闲;374.12 MiB 缓存)
尽管我在训练中明确使用了“del”,但通过运行 nvidia-smi 看起来它没有做任何事情并且内存没有被释放。
我应该怎么办?
machine-learning - 使用哪种深度学习模型来捕获图像中的次要特征?
我的课程与其他课程的功能略有不同:ex - 此图像中有扣(将其视为一个课程)https://6c819239693cc4960b69-cc9b957bf963b53239339d3141093094.ssl.cf3.rackcdn.com/1000006329245-822018-Black-黑色-1000006329245-822018_01-345.jpg
但这张图片与它非常相似,但没有扣: https ://sc01.alicdn.com/kf/HTB1ASpYSVXXXXbdXpXXq6xXFXXXR/latest-modern-classic-chappal-slippers-for-men.jpg
我对在这种实际学习像素到像素值的情况下使用哪种模型有点困惑。
任何想法都会很明显。谢谢 !!
我已经尝试过 Inception、Resnet 等模型。
使用较少量的训练数据(每类 300-400 个),我们可以达到良好的召回率/精度/F1 分数。
machine-learning - 如何训练具有三个图像作为单个输入的模型
我想训练 Inceptionv3 模型,我试图给出单个图像的 3 个不同视图并对其进行训练。所以我想在一个提要中提供三张图像作为我的输入。
用例:
我想预测鞋类的类型。在这个问题中,通常很多信息都存在不同的视图,所以只想尝试这种方法。
python - 使用您自己保存的模型在 Keras 中进行迁移学习
我已经看到了一些迁移学习的示例,其中可以使用来自keras.application的预训练模型(Xception、VGG16、VGG19、ResNet50 等),但我想要的是从我使用model.save('模型.h5')
这是我目前的模型:
现在,而不是说
我想加载保存的模型可能与load_model('model.h5')并将其作为层添加到我当前的模型中。
twitter - 如何在情感分析中进行迁移学习?
我想构建一个应用程序,我可以在其中输入任何 Twitter 关键字,后端将抓取相关的推文并返回推文的情绪分析,以负面、中性和正面推文的百分比表示。例如,我输入关键字“百事可乐”,应用程序将输出如下内容:与百事可乐相关的推文包含 10% 的负面情绪、10% 的中性情绪和 80% 的正面评论。
所以问题是如何训练机器学习算法,我可以在后端使用它来对各种主题进行情感分析。这里涉及的主要思想是迁移学习,我们在大量标记数据上训练一个模型,并将其用作训练其他数据的基线。迁移学习在 NLP 中存在局限性,主要是因为在一项任务中学到的知识不够广泛,无法向下传递到其他任务。例如,我预训练了一个很好的神经网络来对航空公司进行情绪分析,预测准确率超过 70%。然而,当我使用相同的模型对百事可乐进行情感分析时,我得到的预测准确率只有 30% 左右。
我做了一些研究,发现谷歌的通用句子嵌入非常流行。但是,我意识到这是一种将输入文本转换为特征向量的新方法,而不是通用算法。我想知道任何人都可以指出我应该去的方向吗?提前非常感谢!
python - 如何从保存的预训练模型的h5文件中找到层数?
我有以 h5 格式保存的 VGG-16 权重。我想查看网络中的层数。我怎样才能做到这一点?
我尝试使用:
在那之后,我检查了file.attrs
但在这一点之后我不知道使用哪个命令来查找网络中的层数。
keras - 是否可以从中间层(一般和 Keras 中)开始训练 CNN?
我正在使用 mobilenet v2 在我的图像上训练模型。除了几层外,我已经冻结了所有层,然后添加了额外的层进行训练。我希望能够从中间层而不是从一开始进行训练。我的问题:
- 是否可以提供最后一个冻结层的输出作为训练的输入(它将是 (?, 7,7,1280) 的张量)?
- 如何指定训练从第一个可训练(非冻结)层开始?在这种情况下,mbnetv2_conv.layer[153]。
- 在这种情况下 y_train 是什么?我不太明白 y_train 在训练过程中是如何使用的——一般来说,CNN 什么时候引用 y_train?