问题标签 [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 - 如果我不将默认输入形状放入预训练模型中,深度学习程序的准确性会下降吗?
正如标题所说,我想知道输入形状是否会影响深度学习模型的准确性。
此外,可以在灰度图像上使用预训练模型(如 Xception)吗?
PS:我最近开始学习深度学习,所以如果可能的话,请简单解释一下。
python - 使用预训练的 BERT 模型进行错误多类文本分类
我正在尝试使用 Google 的 BERT 预训练模型对 34 个互斥类中的文本进行分类。在准备好 BERT 期望作为输入的“train”、“dev”和“test”TSV 文件后,我尝试在我的 Colab (Jupyter) Notebook 中执行以下命令
我收到以下错误
在“run_classifier.py”脚本中,我修改了最初为二进制分类任务编写的“get_labels()”函数,以返回我所有的 34 个类
知道出了什么问题,或者我是否缺少其他必要的修改?
谢谢!
python - ValueError:输入数组应具有与目标数组相同数量的样本。找到 416 个输入样本和 420 个目标样本
我正在尝试解决 21 类分类问题。这是代码:
我不断收到一条错误消息,说我没有与验证目标样本相同数量的验证输入样本:
我不知道为什么说我有 416 个输入样本和 420 个目标样本;我肯定有 420 个输入样本和 420 个目标样本。关于模型为什么会这样表现的任何想法?
python - 如何在 TensorFlow Object Detection API 中保留类特定权重的同时重置类
我目前正在使用TensorFlow 对象检测 API,并试图从模型动物园微调预训练的 Faster-RCNN。目前,如果我选择与原始网络中使用的数量不同的类数,它根本不会从 初始化权重和偏差,SecondStageBoxPredictor/ClassPredictor
因为它现在具有与原始不同的维度ClassPredictor
。然而,由于我想训练网络的所有类都是原始网络已经被训练识别的类,我想保留与我想使用的类相关的权重和偏差,SecondStageBoxPredictor/ClassPredictor
并修剪所有其他类,而不是简单地从头开始初始化这些值(类似于此函数的行为)。
这是否可能,如果可以,我将如何修改 Estimator 中这一层的结构?
nb这个问题问了一个类似的问题,他们的回答是从网络输出中忽略不相关的类——然而,在这种情况下,我正在尝试微调网络,我假设这些冗余类的存在会使训练/评估复杂化过程?
python - 如何在不使用边界框的情况下标记图像?
我正在尝试使用我自己的图像创建自定义数据集。我从日志数据中裁剪的这些图像如下:
https://drive.google.com/open?id=1x0oWiVZ9KOw5P0gIMxQNxO-ajdrGy7Te
我希望它能够检测到高振动,如下所示:
https://drive.google.com/open?id=1tUjthjGG1c23kTCQZOgedcsx99R_a_z3
我在一个文件夹中有大约 300 张高振动图像。图片如下:
https://drive.google.com/open?id=1IG_-wRJxe-_TOYfSxHjRq5UBWMn9mO1k
我想做的就像https://towardsdatascience.com/how-to-train-your-own-object-detector-with-tensorflows-object-detector-api-bec72ecfe1d9一样。在此示例中,图像数据集是使用 LabelImg 手动标记的。
但是我不明白为什么我需要为其中只有一个对象并且可以将图像的框架作为边界框的图像绘制框。
请建议我如何在不手动绘制边界框的情况下创建数据集和处理图像(因为图像由一个对象组成),以及如何为包含一个对象的图像批量绘制边界框(即具有图像的框架作为边界框)?
python - PyTorch 中的标签平滑
我正在使用迁移学习为斯坦福汽车ResNet-18
数据集构建分类模型。我想实施标签平滑来惩罚过度自信的预测并提高泛化能力。
TensorFlow
在 中有一个简单的关键字参数CrossEntropyLoss
。PyTorch
有没有人为我可以即插即用构建了类似的功能?
tensorflow - 尝试迁移学习时 imagenet 的密集层和卷积层之间的输入维度不匹配
我正在尝试在 InceptionV3 的卷积层之上训练密集层。但我无法初始化全连接模型。我收到一个 ValueError。
我希望模型能够成功编译,但我得到“ValueError:“Flatten”的输入形状未完全定义(得到(None,None,2048)。确保传递完整的“input_shape”或“batch_input_shape”参数到模型的第一层。”
keras - 从 keras 中另一个模型的输出初始化模型的权重以进行迁移学习
我在第一个数据集上训练了 LeNet 架构。我想通过使用从 LeNet 获得的权重初始化 VGG 的权重,在另一个数据集上训练 VGG 架构。
keras 中的所有初始化函数都是预定义的,我找不到如何自定义它们。例如 :
知道如何设置权重吗?
keras - 关于迁移学习中不可训练的层数
我正在为我的数据集试验 VGG16 和 InceptionV3 模型。
我在 Kaggle 中看到的一个使用 InceptionV3 模型的内核将 51 个初始层设置为不可训练。
另一方面,我在某处看到使用了 VGG16 模型,除了最后 4 层外,其他所有层都设置为不可训练。
我正在寻找一种通用的通用方法,关于我应该为任何模型设置多少层为不可训练的。
或者任何基本的清单列表之类的东西,我可以从中决定我的问题陈述。
我从预训练的 NASnet 网络中看到了这个迁移学习。如何知道要冻结的层数?但无法理解为什么选择该特定点的答案
tensorflow - 使用 TensorFlow 和 Keras 防止迁移学习中的过拟合
我有一个 TensorFlow 2 模型,其中包含来自 TensorFlow Hub 的预训练 Keras 层。我想微调这个子模型中的权重以适合我的数据集,但如果我通过设置trainable=True
and天真地做到这一点training=True
,我的模型将严重过度拟合。
如果我控制了底层模型的实际层,我会在这些单独的层上插入 dropout 层或设置 L2 系数。KerasLayer
但是这些层是使用 TensorFlow Hub方法导入我的网络的。另外,我怀疑底层模型非常复杂。
我想知道解决此类问题的标准做法是什么。
也许有一种方法可以以某种方式强制对整个网络进行正则化?我知道在 TensorFlow 1 中,有类似的优化器ProximalAdagradOptimizer
采用 L2 系数。在 TensorFlow 2 中,像这样的唯一优化器是FTRL,但我很难让它适用于我的数据集。