我想建立一个只需要语言模型的编码器部分的分类模型。我尝试过Bert、Roberta、xlnet,到目前为止我都成功了。
\n我现在只想从 T5 测试编码器部分,到目前为止,我找到了 encT5 https://github.com/monologg/EncT5
\n以及 HuggingFace 的 T5EncoderModel。
\n谁能帮助我了解 T5EncoderModel 是否是我正在寻找的?
\n它在描述中说:裸露的 T5 模型变压器输出编码器\xe2\x80\x99s 原始隐藏状态,顶部没有任何特定的头。
\n这让我有点困惑,特别是 encT5 提到他们实现了编码器部分只是因为它不存在于 HuggingFace 中,这让我更加怀疑。
\n请注意,我是深度学习的初学者,所以请对我放轻松,我知道任何问题对你们大多数人来说都可能很幼稚。
\n谢谢
\ntransformer-model deep-learning encoder-decoder pytorch huggingface-transformers
我在变压器模型中使用MultiHeadAttention
层(我的模型与命名实体识别模型非常相似)。因为我的数据具有不同的长度,所以我使用填充和attention_mask
参数MultiHeadAttention
来屏蔽填充。如果我使用Masking
之前的图层,它会和参数MultiHeadAttention
有相同的效果吗?attention_mask
或者我应该同时使用:attention_mask
和Masking
图层?
如何处理长度超过 512 个标记的序列。我不想使用截断= True。但实际上想要处理更长的序列
我很难理解 Transformer 架构中的位置明智前馈神经网络。
让我们以机器翻译任务为例,其中输入是句子。从图中我了解到,对于每个单词,不同的前馈神经网络用于自注意力子层的输出。前馈层应用类似的线性变换,但每个变换的实际权重和偏差不同,因为它们是两个不同的前馈神经网络。
参考LinkPositionWiseFeedForward
,这是神经网络的类
class PositionwiseFeedForward(nn.Module):
"Implements FFN equation."
def __init__(self, d_model, d_ff, dropout=0.1):
super(PositionwiseFeedForward, self).__init__()
self.w_1 = nn.Linear(d_model, d_ff)
self.w_2 = nn.Linear(d_ff, d_model)
self.dropout = nn.Dropout(dropout)
def forward(self, x):
return self.w_2(self.dropout(F.relu(self.w_1(x))))
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我不认为这有任何立场方面的问题。这是一个简单的两层全连接神经网络。假设 x
是句子中每个单词的嵌入列表,句子中的每个单词都由上层使用相同的权重和偏差集进行转换。(如果我错了,请纠正我)
我期望找到类似将每个单词嵌入传递到单独Linear
层的东西,该层将具有不同的权重和偏差,以实现与图中所示类似的效果。
https://colab.research.google.com/drive/11u6leEKvqE0CCbvDHHKmCxmW5GxyjlBm?usp=sharing
setup.py 文件位于 Transformers 文件夹(根目录)中。但是当我运行时出现这个错误
!git clone https://github.com/huggingface/transformers
!cd transformers
!pip install -e .
!pip install -r transformers/examples/pytorch/translation/requirements.txt
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么会发生这种情况?
python transformer-model google-colaboratory bert-language-model huggingface-transformers
我正在尝试从Java创建XML并且在缩进时遇到问题.在以下代码中,您可以看到OutputKeys.INDENT
设置为yes
...
//set up a transformer
TransformerFactory transfac = TransformerFactory.newInstance();
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperty(OutputKeys.INDENT, "yes");
//create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
trans.transform(source, result);
String xmlString = sw.toString();
//print xml
System.out.println(xmlString);
Run Code Online (Sandbox Code Playgroud)
但它似乎没有影响,输出是:
<dataset id="1"><br>
<path></path><br>
<session id="1"><br>
<method><br>
<timestamp>a timestamp</timestamp><br>
<signiture><br>
<classPath></classPath><br>
<name>methodName</name><br>
<declarationType>String</declarationType><br>
<parameters><br>
<parameter>String</parameter><br>
<parameter>int</parameter><br>
</parameters><br>
</signiture><br>
<arguments><br>
<argument>SomeValue</argument><br>
<argument>AnotherValue</argument><br>
</arguments><br>
<return>ReturnValue</return><br>
</method><br>
</session><br>
</dataset><br>
Run Code Online (Sandbox Code Playgroud) 我正在使用XSL将我的XML文件配置为更小的XML.我的代码片段是这样的:
public class MessageTransformer {
public static void main(String[] args) {
try {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer (new StreamSource("sample.xsl"));
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.transform(new StreamSource ("sample.xml"),
new StreamResult( new FileOutputStream("sample.xml"))
);
}
catch (Exception e) {
e.printStackTrace( );
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
ERROR: 'Premature end of file.'
ERROR: 'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Premature end of file.'
Run Code Online (Sandbox Code Playgroud)
当我使用XSL文件手动转换XML时,我没有任何问题.但是使用这个JAVA文件我无法转换.
会出现什么问题?
我需要POST一个REST服务调用并获取它返回的数据(所有这些都是使用JSON).我有一个出站网关,其回复通道作为链,链有一个变压器.
<int-http:outbound-gateway
url="#{appProperties['rootUrl']}#{appProperties['myMethod']}"
request-channel="myRequestChannel" reply-channel="myResponseChannel" >
</int-http:outbound-gateway>
<int:channel id="myResponseChannel"/>
<int:chain input-channel="myResponseChannel">
<int:transformer ref="genericResponseTransformer"/>
</int:chain>
Run Code Online (Sandbox Code Playgroud)
但是当我通过变换器调试时,我得到的有效负载只是一个HttpStatus对象.
也许我做错了什么?任何帮助将不胜感激.谢谢!
java.lang.NullPointerException
在使用 编写 XML 文件时,如何在不获取的情况下在 DOM 文档中创建一个空节点Transformer
?
我正在编写一个 XML 文档,其中一些节点可能具有空值,使用element.appendChild(documnet.createTextNode(nodeValue));
这里这个nodeValue可以是一个空字符串,或者说null或空值,那么我们如何强制它写入这个空文本节点,例如<emptyTextNode/> or <emptyTextNode><emptyTextNode>
如果我只是简单地用空值写入此节点,Transformer
则会抛出异常NullPointerException
,同时将文档转换为 XML。
无论如何,都需要避免此空指针异常,并在输出 XML 条件中允许此空节点。
我想在 Flask 应用程序中执行文本生成任务并将其托管在 Web 服务器上,但是在下载 GPT 模型时,弹性 beantalk 管理的 EC2 实例崩溃,因为下载需要太多时间和内存
from transformers.tokenization_openai import OpenAIGPTTokenizer
from transformers.modeling_tf_openai import TFOpenAIGPTLMHeadModel
model = TFOpenAIGPTLMHeadModel.from_pretrained("openai-gpt")
tokenizer = OpenAIGPTTokenizer.from_pretrained("openai-gpt")
Run Code Online (Sandbox Code Playgroud)
这些是导致问题的相关线路。GPT 大约为 445 MB。我正在使用变压器库。我没有在这一行下载模型,而是想知道是否可以对模型进行腌制,然后将其捆绑为存储库的一部分。这个图书馆可以吗?否则我如何预加载这个模型以避免我遇到的问题?
machine-learning transformer-model flask amazon-elastic-beanstalk huggingface-transformers
java ×3
python ×2
pytorch ×2
xml ×2
domdocument ×1
flask ×1
formatting ×1
gateway ×1
huggingface ×1
keras ×1
payload ×1
string ×1
tensorflow ×1
xslt ×1