作为计算语言学的学生,我经常进行机器学习实验,我必须从各种不同的资源准备训练数据,如原始或注释文本语料库或语法树库.对于每个新任务和每个新实验,我编写程序(通常使用Python,有时是Java)来提取我需要的功能和值,并将数据从一种格式转换为另一种格式.这通常导致非常大量的非常大的文件和大量的小程序处理它们以获得某些机器学习框架的输入(如Weka的arff文件).
人们需要非常有条理地处理这个问题和计划,并且要小心谨慎,不要错过大量数据中的任何重要特性,例外或错误.良好的软件设计原则,如设计模式或重构范例,对于这些任务来说并不是很重要,因为安全性,可维护性或可持续性等问题并不重要 - 一旦程序成功处理了数据,就不再需要它了.到目前为止,我甚至已经停止了在Python代码和程序中使用类或函数的简单程序方式.下一个实验将需要具有独特特征和不同格式的不同数据集,以便无论如何都可能必须从头开始编程.到目前为止,我的经历是' 将80-90%的项目时间花在准备培训数据的任务上并不罕见.小时和日子只考虑如何从一种数据格式到另一种数据格式.有时,这可能会变得非常令人沮丧.
好吧,你可能猜到我有点夸张,甚至有目的,但我很肯定你理解我想说的话.实际上,我的问题是:
是否有任何通用框架,架构,最佳实践来处理这些任务?在优化设计的情况下,我希望能够重复使用多少代码?
我正在尝试在Windows中训练Tesseract,为此我需要一对tiff/box文件,我正在尝试使用jTessBoxEditor创建它,但它不接受图像作为输入.我也尝试过boxFactory,但它运行不正常.有谁知道从图像创建配对的最佳工具是什么?
谢谢
我需要一些帮助,用一个带有images和label-text-file的普通目录为暹罗CNN创建一个CaffeDB.最好的将是一种python方式.
问题不是遍历目录并制作图像对.我的问题更多的是从这些对中制作CaffeDB.
到目前为止,我只用于convert_imageset从图像目录中创建CaffeDB.
感谢帮助!
training-data neural-network deep-learning caffe conv-neural-network
我将如何配置 Keras 以停止训练直到收敛或损失为 0?我故意想要过度拟合它。我不想设置时代数。我只是想让它在收敛时停止。
我有一个如下所示的数据集
set.seed(503)
foo <- data.table(group = rep(LETTERS[1:6], 150),
y = rnorm(n = 6 * 150, mean = 5, sd = 2),
x1 = rnorm(n = 6 * 150, mean = 5, sd = 10),
x2 = rnorm(n = 6 * 150, mean = 25, sd = 10),
x3 = rnorm(n = 6 * 150, mean = 50, sd = 10),
x4 = rnorm(n = 6 * 150, mean = 0.5, sd = 10),
x5 = sample(c(1, 0), size = 6 …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在 wikitext-2 数据集上微调 GPT2(只是为了帮助自己学习该过程),但我遇到了一条我以前从未见过的警告消息:
\n“未设置注意掩码和填充令牌 ID。因此,您可能会观察到意外行为。请传递您的输入attention_mask以获得可靠的结果。\n设置pad_token_id为eos_token_id:50256 以进行开放式生成。”
这看起来很奇怪,因为我在实例化 tokenizer 时在代码中明确指定了 EOS 令牌:
\ntokenizer = GPT2Tokenizer.from_pretrained(\'gpt2\', bos_token=\'<|startoftext|>\', eos_token=\'<|endoftext|>\', pad_token=\'<|pad|>\')\nRun Code Online (Sandbox Code Playgroud)\n训练在没有崩溃的情况下完成,我的损失在每个时期都有所改善,但是当我推断模型时,它输出绝对的乱码 - 有时只生成一个单词而没有其他任何东西。我认为我收到的警告消息与模型表现不佳之间存在联系。
\n我从这里获得了训练、有效、测试数据(我使用了 .raw 文件) - https://blog.salesforceairesearch.com/the-wikitext-long-term-dependency-language-modeling-dataset/
\n我在数据集的原始 txt 文件中手动添加了 <|startoftext|> 和 <|endoftext|> 。生成的训练数据类似于这两个示例(取自文本文件的中间):
\n...\n<|startoftext|>\n= Perfect Dark ( 2010 video game ) = \n \n Perfect Dark is a remastered release of the first @-@ person shooter video game by the same name . Developed by 4J Studios …Run Code Online (Sandbox Code Playgroud) 我想用我自己的实体为 NER 训练一个空白模型。为此,我需要使用一个数据集,该数据集当前为 .csv 格式并具有以下格式的实体标签(我将为每个相关列提供一个示例行):
栏目:句子
价值:我想要苹果
列:数据
值:['want;@command;2;6','apples';@fruit;7;13']
列:实体
值:我@command @fruit
列:entity_types
值:@bot/@command;@bot/@food/@fruit
为了训练 SpaCy 的 NER,我需要以下格式的 json 形式的训练数据:
TRAIN_DATA = [
('Who is Shaka Khan?', {
'entities': [(7, 17, 'PERSON')]
}),
('I like London and Berlin.', {
'entities': [(7, 13, 'LOC'), (18, 24, 'LOC')]
})
]
Run Code Online (Sandbox Code Playgroud)
我试图找到一种解决方案,以解决如何将数据从 csv 重新格式化为 SpaCy 所需的格式,但到目前为止我还没有成功。数据集确实包含所有必要的信息——文本字符串、实体名称、实体类型、实体偏移——但我根本不知道如何以正确的形式获取它们。
我将不胜感激关于我将如何实现这一目标的任何和所有帮助!
我做了一个实验,但没有得到我期望的结果。
对于第一部分,我使用
trainloader = torch.utils.data.DataLoader(trainset, batch_size=128,
shuffle=False, num_workers=0)
Run Code Online (Sandbox Code Playgroud)
我保存trainloader.dataset.targets到变量a,并在训练模型之前trainloader.dataset.data保存到变量。b然后,我使用 训练模型trainloader。
训练完成后,我保存trainloader.dataset.targets到变量c和trainloader.dataset.data变量d。最后,我检查a == c和b == d,它们都给出True,这是预期的,因为 的 shuffle 参数DataLoader是False。
对于第二部分,我正在使用
trainloader = torch.utils.data.DataLoader(trainset, batch_size=128,
shuffle=True, num_workers=0)
Run Code Online (Sandbox Code Playgroud)
我保存trainloader.dataset.targets到变量e,并在训练模型之前trainloader.dataset.data保存到变量。f然后,我使用 训练模型trainloader。训练完成后,我保存trainloader.dataset.targets到变量g和trainloader.dataset.data变量h。我期望e == g和从那时f == h …
我正在尝试使用 tensorflow 1.15 训练模型并启用急切执行。对于火车损失,我正在使用
train loss = mse_loss*args.lmbda + bits_per_pixel_loss
Run Code Online (Sandbox Code Playgroud)
我已经定义了优化器如下
main_optimiser = tf.train.AdamOptimiser(learning_rate=1e-3)
Run Code Online (Sandbox Code Playgroud)
到这里代码工作正常错误出现在优化的最小部分
main_step = main_optimiser.minimise(train_loss, global_step=step)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
RuntimeError: `loss` passed to Optimizer.compute_gradients should be a function when eager execution is enabled.
Run Code Online (Sandbox Code Playgroud)
因此,当我在函数内部计算 train_loss 时说,loss_computer在 train 函数内部构建然后使用
main_step =main_optimiser.minimise(loss_computer, global_step=step)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
AttributeError: 'NoneType' object has no attribute 'dtype'.
Run Code Online (Sandbox Code Playgroud)
如何在启用 Eager Execution 的情况下训练模型?如果我需要澄清任何事情,请告诉我。非常感谢任何帮助,谢谢!
python optimization training-data deep-learning tensorflow1.15
training-data ×10
python ×3
c++ ×1
caffe ×1
code-reuse ×1
dlib ×1
fine-tuning ×1
format ×1
gpt-2 ×1
json ×1
keras ×1
nlp ×1
ocr ×1
optimization ×1
pytorch ×1
r ×1
r-caret ×1
shuffle ×1
spacy ×1
tesseract ×1
time-series ×1
tokenize ×1
windows ×1