当前位置: 首页 > news >正文

做印刷广告的图片在哪个网站找免费推广途径与原因

做印刷广告的图片在哪个网站找,免费推广途径与原因,wordpress主题中文版,wordpress添加自定义导航0 使用的tips GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在输入的右侧而不是左侧填充GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记方面非常强大 利用这一特性,GPT-2可以生成语法连…

0 使用的tips

  • GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在输入的右侧而不是左侧填充
  • GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记方面非常强大
    • 利用这一特性,GPT-2可以生成语法连贯的文本
  • GPT-2可以接受past_key_values(对于PyTorch)或past(对于TF)作为输入
    • 这些是先前计算的键/值注意力对。‘
    • 使用这个(past_key_values或past)值可以防止模型在文本生成过程中重新计算预计算的值
  • 启用scale_attn_by_inverse_layer_idx和reorder_and_upcast_attn标志将应用Mistral的训练稳定性改进(仅适用于PyTorch)

1 基本实例

from transformers import AutoModelForCausalLM, AutoTokenizermodel = AutoModelForCausalLM.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")prompt = "GPT2 is a model developed by OpenAI."input_ids = tokenizer(prompt, return_tensors="pt").input_idsgen_tokens = model.generate(input_ids,do_sample=True,temperature=0.9,max_length=100,
)
gen_text = tokenizer.batch_decode(gen_tokens)[0]print(gen_text)
'''
GPT2 is a model developed by OpenAI. It helps to define the neural network of a person with Autism. The researchers have previously identified the basic network of neurons in the brain responsible for processing emotional information. They also found that the person with Autism has similar information processing abilities as other people with similar intelligence.The researchers say that it's important to look beyond the normal limitations of the human brain. "This type of neuroimaging has been really important," explains Michael A. Be
'''

2 GPT2Config

  • 用于存储 GPT2Model配置的配置类。
  • 根据指定的参数实例化一个 GPT-2 模型,定义模型架构
  • 使用默认值实例化配置将产生类似于 GPT-2 openai-community/gpt2 架构的配置:

2.1 主要参数

vocab_size(int, 可选,默认值为 50257) — GPT-2 模型的词汇表大小
n_positions(int, 可选,默认值为 1024) — 该模型可能使用的最大序列长度。
n_embd(int, 可选,默认值为 768) — 嵌入和隐藏状态的维度
n_layer(int, 可选,默认值为 12) — Transformer 编码器中的隐藏层数量
n_head(int, 可选,默认值为 12) — Transformer 编码器中每个注意力层的注意力头数量
n_inner(int, 可选) — 内部前馈层的维度。设置为 None 将其设置为 4 * n_embd
activation_function

(str, 可选,默认值为 "gelu_new") — 激活函数

可在以下列表中选择 ["relu", "silu", "gelu", "tanh", "gelu_new"]

resid_pdrop

(float, 可选,默认值为 0.1) —

嵌入、编码器和池化器中所有全连接层的丢弃概率

embd_pdrop(float, 可选,默认值为 0.1) — 嵌入的丢弃率
attn_pdrop(float, 可选,默认值为 0.1) — 注意力的丢弃率
layer_norm_epsilon(float, 可选,默认值为 1e-05) — 层归一化层中使用的epsilon值
initializer_range(float, 可选,默认值为 0.02) — 初始化所有权重矩阵时截断正态初始化器的标准差
scale_attn_weights(bool, 可选,默认值为 True) — 通过除以 sqrt(hidden_size) 来缩放注意力权重
bos_token_id(int, 可选,默认值为 50256) — 词汇表中句子起始标记的 ID
eos_token_id(int, 可选,默认值为 50256) — 词汇表中句子结束标记的 ID
scale_attn_by_inverse_layer_idx(bool, 可选,默认值为 False) — 是否另外通过 1 / (layer_idx + 1) 缩放注意力权重

2.2 举例

from transformers import GPT2Config, GPT2Model# 初始化 GPT2 配置
configuration = GPT2Config()configuration
'''
GPT2Config {"activation_function": "gelu_new","attn_pdrop": 0.1,"bos_token_id": 50256,"embd_pdrop": 0.1,"eos_token_id": 50256,"initializer_range": 0.02,"layer_norm_epsilon": 1e-05,"model_type": "gpt2","n_embd": 768,"n_head": 12,"n_inner": null,"n_layer": 12,"n_positions": 1024,"reorder_and_upcast_attn": false,"resid_pdrop": 0.1,"scale_attn_by_inverse_layer_idx": false,"scale_attn_weights": true,"summary_activation": null,"summary_first_dropout": 0.1,"summary_proj_to_labels": true,"summary_type": "cls_index","summary_use_proj": true,"transformers_version": "4.41.2","use_cache": true,"vocab_size": 50257
}
'''
# 根据配置初始化模型(具有随机权重)
model = GPT2Model(configuration)

3 GPT2Tokenizer

注:GPT2分词器经过训练将空格视为标记的一部分,因此一个单词在句子的开头(没有空格)或其他地方将被编码为不同的方式

3.1 主要参数

vocab_file词汇文件的路径
merges_file合并文件的路径
unk_token

(str, 可选,默认值为 "")

— 未知标记。不在词汇表中的标记无法转换为 ID,将被设置为此标记

bos_token(str, 可选,默认值为 "") — 序列开始标记
eos_token(str, 可选,默认值为 "") — 序列结束标记
pad_token(str, 可选) — 用于填充的标记,例如在批处理不同长度的序列时
add_prefix_space

(bool, 可选,默认值为 False) —

是否在输入的开头添加一个空格。这允许将前导词视为任何其他词一样处理。

add_bos_token

(bool, 可选,默认值为 False) —

是否在输入的开头添加一个序列开始标记。这允许将前导词视为任何其他词一样处理

3.2 举例

from transformers import GPT2Tokenizertokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")tokenizer("Hello world"),tokenizer(" Hello world")
'''
({'input_ids': [15496, 995], 'attention_mask': [1, 1]},{'input_ids': [18435, 995], 'attention_mask': [1, 1]})
'''

4 GPT2TokenizerFast

4.1 参数、

vocab_file词汇文件的路径
merges_file合并文件的路径
unk_token

(str, 可选,默认值为 "")

— 未知标记。不在词汇表中的标记无法转换为 ID,将被设置为此标记

bos_token(str, 可选,默认值为 "") — 序列开始标记
eos_token(str, 可选,默认值为 "") — 序列结束标记
add_prefix_space

(bool, 可选,默认值为 False) —

是否在输入的开头添加一个空格。这允许将前导词视为任何其他词一样处理。

4.2 举例

和GPT2Tokenizer类似 

from transformers import GPT2TokenizerFasttokenizer = GPT2TokenizerFast.from_pretrained("openai-community/gpt2")tokenizer("Hello world"),tokenizer(" Hello world")
'''
({'input_ids': [15496, 995], 'attention_mask': [1, 1]},{'input_ids': [18435, 995], 'attention_mask': [1, 1]})
'''

4.3 和GPT2Tokenizer的区别

底层库

  • GPT2TokenizerFast:基于 HuggingFace 的 tokenizers 库,这个库使用 Rust 实现了快速的分词算法,特别是字节对编码(Byte-Pair Encoding, BPE)。
  • GPT2Tokenizer:基于 Python 实现,使用较慢的分词方法。

性能

  • GPT2TokenizerFast:通常更快且更高效,特别是在处理大批量文本时。这是由于其使用了低级语言(Rust)的高效实现。
  • GPT2Tokenizer:相对较慢,因为它是纯 Python 实现的,计算效率较低。

5 GPT2DoubleHeadsModelOutput

预测两个句子是否连续的模型输出的基类

6 GPT2Model

裸 GPT-2 模型,输出原始的隐藏状态,没有任何特定的头部

6.1 forward 方法

6.1.1 参数

input_ids

(torch.LongTensor,形状为 (batch_size, input_ids_length))

输入序列标记在词汇表中的索引。

如果使用 past_key_values,则只有未计算 pastinput_ids 需要传递为 input_ids

past_key_values

Tuple[Tuple[torch.Tensor]],长度为 config.n_layers

包含模型计算的预计算隐藏状态(注意力块中的键和值)。

可以用来加速顺序解码。输入的 input_ids 不应包含已传递 pastinput_ids

attention_mask

torch.FloatTensor,形状为 (batch_size, sequence_length),可选

掩码,用于避免在填充标记索引上执行注意力。

掩码值选择为 [0, 1]:1 表示未被掩码的标记,0 表示被掩码的标记。

token_type_ids

(torch.LongTensor,形状为 (batch_size, input_ids_length),可选) —

段标记索引,用于指示输入的第一部分和第二部分。

索引选择为 [0, 1]:0 对应句子 A 标记,1 对应句子 B 标记。

position_ids

(torch.LongTensor,形状为 (batch_size, sequence_length),可选)

每个输入序列标记在位置嵌入中的位置索引。

选择范围为 [0, config.max_position_embeddings - 1]

head_mask

(torch.FloatTensor,形状为 (num_heads,) 或 (num_layers, num_heads),可选) —

掩码,用于取消选择的自注意力模块头部。

掩码值选择为 [0, 1]:1 表示头部未被掩码,0 表示头部被掩码

inputs_embeds

(torch.FloatTensor,形状为 (batch_size, sequence_length, hidden_size),可选)

可以选择直接传递嵌入表示而不是 input_ids

encoder_hidden_states(torch.FloatTensor,形状为 (batch_size, sequence_length, hidden_size),可选) — 编码器隐藏状态。
encoder_attention_mask(torch.FloatTensor,形状为 (batch_size, sequence_length),可选) — 编码器注意力掩码。
use_cache(bool, 可选) — 如果设置为 True,则返回 past_key_values 键值状态,可用于加速解码
output_attentions(bool, 可选) — 是否返回所有注意力层的注意力张量
output_hidden_states(bool, 可选) — 是否返回所有层的隐藏状态

6.1.2 返回值

last_hidden_state

(torch.FloatTensor,形状为 (batch_size, sequence_length, hidden_size)) — 模型最后一层的隐藏状态序列。

如果使用 past_key_values,则仅输出形状为 (batch_size, 1, hidden_size) 的序列的最后一个隐藏状态。

past_key_values

tuple(tuple(torch.FloatTensor)),可选,当传递 use_cache=True 时返回或 config.use_cache=True 时返回)

长度为 config.n_layers 的元组,每个元组包含形状为 (batch_size, num_heads, sequence_length, embed_size_per_head) 的 2 个张量

用来加速顺序解码

hidden_states

(tuple(torch.FloatTensor),可选,当传递 output_hidden_states=True 时返回或 config.output_hidden_states=True 时返回) 

包含 torch.FloatTensor 的元组(如果模型具有嵌入层,则为嵌入输出的一个 + 每层输出的一个),形状为 (batch_size, sequence_length, hidden_size)。

模型在每层输出的隐藏状态加上可选的初始嵌入输出的隐藏状态。

attentions

(tuple(torch.FloatTensor),可选,当传递 output_attentions=True 时返回或 config.output_attentions=True 时返回)

包含 torch.FloatTensor 的元组(每层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)。

注意力 softmax 后的注意力权重,用于计算自注意力头中的加权平均值。

cross_attentions

(tuple(torch.FloatTensor),可选,当传递 output_attentions=Trueconfig.add_cross_attention=True 时返回或 config.output_attentions=True 时返回)

包含 torch.FloatTensor 的元组(每层一个),形状为 (batch_size, num_heads, sequence_length, sequence_length)。

解码器交叉注意力层的注意力权重,在注意力 softmax 后,用于计算交叉注意力头中的加权平均值。

6.1.3 举例

from transformers import AutoTokenizer, GPT2Model
import torchtokenizer = AutoTokenizer.from_pretrained("openai-community/gpt2")
model = GPT2Model.from_pretrained("openai-community/gpt2")inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
outputs = model(**inputs)last_hidden_states = outputs.last_hidden_state
last_hidden_states
'''
tensor([[[-9.3295e-06, -1.4021e-01, -2.0845e-01,  ..., -1.5329e-01,-6.7826e-02, -1.9630e-01],[ 4.1949e-01,  2.3525e-01,  3.4816e-01,  ...,  4.5321e-02,1.5447e-01,  1.9546e-02],[-7.0056e-02,  2.6082e-01, -2.9146e-01,  ...,  9.0979e-02,4.9659e-01, -4.1824e-01],[-1.9695e-01, -2.9247e-01, -1.4119e-01,  ..., -8.9255e-02,-2.2392e-01,  1.2212e-01],[-6.4193e-01, -1.0236e-01, -4.2129e-01,  ...,  6.8697e-02,-5.1117e-01,  5.0044e-01],[ 4.1290e-03, -3.1455e-02, -1.0823e+00,  ..., -5.0159e-02,-3.0878e-02,  4.3480e-01]]], grad_fn=<ViewBackward0>)
'''

http://www.hkea.cn/news/774299/

相关文章:

  • 深圳做网站google推广网络营销和传统营销的区别和联系
  • 专业做网站的顺德公司网络推广怎么收费
  • php商城网站建设多少钱天津百度seo排名优化
  • 注册网站免费注册insseo关键词优化推广哪家好
  • 深圳房地产网站开发常见的网络营销工具有哪些
  • .net 网站管理系统湖南企业竞价优化首选
  • 南山区住房与建设局官方网站网络赚钱推广
  • wordpress mycred汉化seo引擎搜索入口
  • 在线教育网站用什么做百度搜索的优势
  • 甘肃省住房城乡建设厅网站首页智能建站模板
  • 智能科技网站模板下载地址百度学术论文查重
  • 网站要怎么做才能让360收录推广品牌的策划方案
  • 做网站前景营销课程培训视频
  • 青海做网站广告开户南京seo
  • wordpress写软文赚钱seo快速培训
  • 南宁网站建设接单陕西省人民政府
  • wordpress网站价格seo域名综合查询
  • 支付网站怎么做的网络自动推广软件
  • js做网站统计品牌关键词优化
  • 微信公众号管理平台官网谷歌seo建站
  • 鲜花购物网站源码企业网站营销的优缺点
  • 表白网站制作在线日照网站优化公司
  • 企业网站建设策划书 前言徐州关键词优化排名
  • 一级a做爰片视频网站全国新闻媒体发稿平台
  • 唐山网站建设哪家专业高德北斗导航
  • wordpress 地址 .html企业网站seo贵不贵
  • 提供网站制作公司哪家好网络软文范文
  • 做原型网站枣庄网络推广seo
  • 品牌网站开发设计外贸网站平台
  • 网站做留言板网站推广在线