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

阿里巴巴国际站工作怎么样班级优化大师免费下载学生版

阿里巴巴国际站工作怎么样,班级优化大师免费下载学生版,本地电脑做网站,深圳做网站哪家最好文章目录 1. 代码展示2. 整体流程介绍3. 代码解读4. 报错解决4.1 解决思路4.2 解决方法 5. Bert介绍5.1 什么是BertBERT简介:BERT的核心思想:BERT的预训练策略:BERT的应用:为什么BERT如此受欢迎?总结: 1. 代…

文章目录

  • 1. 代码展示
  • 2. 整体流程介绍
  • 3. 代码解读
  • 4. 报错解决
    • 4.1 解决思路
    • 4.2 解决方法
  • 5. Bert介绍
    • 5.1 什么是Bert
      • BERT简介:
      • BERT的核心思想:
      • BERT的预训练策略:
      • BERT的应用:
      • 为什么BERT如此受欢迎?
      • 总结:

1. 代码展示

from tqdm import tqdm  # 可以在循环中添加进度条x = [1, 2, 3]  # list
print(x[:10] + [0] * -7)from transformers import AutoTokenizertokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")labels = []
train_list = []
with open("../data/ChnSentiCorp.txt", mode='r', encoding='utf-8') as file:for line in tqdm(file.readlines()):line = line.strip().split(',')labels.append(int(line[0]))text = tokenizer.encode(line[1])token = text[:80] + [0] * (80 - len(text))train_list.append(token)
import numpy as nplabels = np.array(labels)
train_list = np.array(train_list)# 已经把数据转化成了词向量 (Bert不需要词嵌入)  RNN --> LSTM
from transformers import TFBertForSequenceClassificationmodel = TFBertForSequenceClassification.from_pretrained("bert-base-chinese", num_labels=2)model.compile(loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.summary()
result = model.fit(x=train_list, y=labels, batch_size=128, epochs=10)
print(result.history)

2. 整体流程介绍

首先,概述一下代码的主要目的和流程。

主要目的
此代码的主要目的是使用BERT模型进行序列分类。具体来说,它似乎是在处理某种情感分析任务,因为代码中读取了标签和文本,并试图用BERT模型来进行分类(假设为正面或负面情感,因为num_labels=2)。

整体流程

  1. 导入所需库

    • tqdm:用于显示循环的进度条。
    • transformers:提供预训练的模型和相关的工具。
  2. 数据预处理

    • 定义了两个空列表labelstrain_list,用于存储从文件中读取的标签和文本数据。
    • 打开一个名为ChnSentiCorp.txt的文件,并从中读取数据。假设每行的格式是“标签,文本”。
    • 使用BERT的tokenizer将每行文本转化为token。然后,确保每行文本的token长度为80,如果长度不足80,则用0填充。
  3. 转换数据格式

    • 将labels和train_list列表转换为numpy数组。
  4. 加载和初始化BERT模型

    • 使用TFBertForSequenceClassification.from_pretrained方法加载bert-base-chinese预训练模型,并指定类别数量为2。
    • 编译模型,设置损失函数和评估指标,并显示模型摘要。
  5. 模型训练

    • 使用处理后的train_list作为输入和labels作为目标进行模型训练。
    • 显示训练历史。

综上,代码的整体流程是:导入库→数据预处理→数据格式转换→加载和初始化BERT模型→模型训练。

3. 代码解读

像debug一样逐步解释您提供的代码。

from tqdm import tqdm  # 可以在循环中添加进度条

这一行导入了tqdm库,它是一个在循环中显示进度条的库。


x = [1, 2, 3]  # list
print(x[:10] + [0] * -7)

这里首先定义了一个列表x。接下来,x[:10]表示获取列表x的前10个元素,但因为x只有3个元素,所以它其实会返回整个x。[0] * -7将产生一个空列表,因为乘以一个负数的结果是空。所以print语句的输出将是[1, 2, 3]


from transformers import AutoTokenizer

这里从transformers库中导入了AutoTokenizertransformers库提供了很多预训练模型及其相关的工具,AutoTokenizer是其中的一个。


tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")

使用bert-base-chinese这个预训练模型的tokenizer。这个tokenizer是针对中文BERT模型的。


labels = []
train_list = []
with open("../data/ChnSentiCorp.txt", mode='r', encoding='utf-8') as file:for line in tqdm(file.readlines()):line = line.strip().split(',')labels.append(int(line[0]))text = tokenizer.encode(line[1])token = text[:80] + [0] * (80 - len(text))train_list.append(token)

这段代码读取文件ChnSentiCorp.txt并从中获取标签和文本数据。每一行都是由一个标签和文本组成的,两者之间用逗号分隔。文本数据被tokenized并被截断或填充至长度80。


import numpy as nplabels = np.array(labels)
train_list = np.array(train_list)

这里首先导入了numpy库,并将labels和train_list转换为numpy数组。


from transformers import TFBertForSequenceClassification

transformers库中导入了用于序列分类的TFBert模型。


model = TFBertForSequenceClassification.from_pretrained("bert-base-chinese", num_labels=2)

初始化一个预训练的BERT模型用于序列分类。这里指定了类别数量为2。


model.compile(loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.summary()

模型被编译,使用了sparse_categorical_crossentropy作为损失函数,并设置了accuracy作为评估指标。model.summary()会显示模型的结构和参数信息。

model.summary()会输出如下内容。

Model: "tf_bert_for_sequence_classification"
_________________________________________________________________Layer (type)                Output Shape              Param #   
=================================================================bert (TFBertMainLayer)      multiple                  102267648 dropout_37 (Dropout)        multiple                  0         classifier (Dense)          multiple                  1538      =================================================================
Total params: 102,269,186
Trainable params: 102,269,186
Non-trainable params: 0
_________________________________________________________________

result = model.fit(x=train_list, y=labels, batch_size=128, epochs=10)
Epoch 1/10
61/61 [==============================] - 2293s 36s/step - loss: 0.9221 - accuracy: 0.3204
Epoch 2/10
61/61 [==============================] - 2139s 35s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 3/10
61/61 [==============================] - 2078s 34s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 4/10
61/61 [==============================] - 1897s 31s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 5/10
61/61 [==============================] - 1898s 31s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 6/10
61/61 [==============================] - 1904s 31s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 7/10
61/61 [==============================] - 1895s 31s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 8/10
61/61 [==============================] - 1887s 31s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 9/10
61/61 [==============================] - 1878s 31s/step - loss: 0.6931 - accuracy: 0.3147
Epoch 10/10
61/61 [==============================] - 1875s 31s/step - loss: 0.6931 - accuracy: 0.3147
print(result.history)
{'loss': [0.9221097230911255, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548, 0.6931471228599548], 
'accuracy': [0.3204120993614197, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576, 0.3147456645965576]
}

模型训练过程。使用train_list作为输入数据,labels作为标签。批大小设置为128,总共训练10轮。训练完毕后,会打印训练历史数据。

4. 报错解决

执行下面的代码的时候报错:

from transformers import TFBertForSequenceClassification
model = TFBertForSequenceClassification.from_pretrained("bert-base-chinese", num_labels=2)

报错信息如下:

requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /bert-base-chinese/resolve/main/pytorch_model.bin (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x000001AAEB8F3700>, 'Connection to huggingface.co timed out. (connect timeout=10)'))

4.1 解决思路

您的报错信息提示了连接超时问题。当您尝试从huggingface的服务器加载预训练的模型时,出现了这个问题。

以下是可能的原因及其解决方案:

  1. 网络问题:您的机器可能无法访问huggingface的服务器。这可能是由于网络速度慢、防火墙设置、网络断开或其他网络相关问题。

    解决方案

    • 请确保您的网络连接正常。
    • 试试是否可以手动访问huggingface.co网站。
    • 检查您的防火墙或代理设置,确保它们没有阻止您访问huggingface的服务器。
  2. Huggingface服务器问题:有时,由于服务器的高负载或其他问题,huggingface的服务器可能会暂时不可用。

    解决方案

    • 稍后再试。
  3. 使用代理:如果您处于一个需要代理访问外部网站的网络环境中(如在某些公司或国家),那么可能需要配置代理。

    解决方案

    • 设置Python的代理,或使用VPN。
  4. 下载模型并本地加载:如果以上方法都不起作用,您可以手动下载模型,然后从本地加载。

    解决方案

    • 手动从huggingface的模型库中下载bert-base-chinese模型。
    • 将下载的模型存放在本地目录中,然后使用from_pretrained方法加载该目录。

例如:

model = TFBertForSequenceClassification.from_pretrained("/path_to_directory/bert-base-chinese", num_labels=2)

其中/path_to_directory/bert-base-chinese是您存放模型文件的本地目录。

4.2 解决方法

科学上网

5. Bert介绍

5.1 什么是Bert

当然可以!

BERT简介:

BERT(Bidirectional Encoder Representations from Transformers)是由Google在2018年提出的一个预训练的深度学习模型,用于自然语言处理(NLP)任务。BERT的突出特点是其双向性,即它可以同时考虑文本中的前后上下文,从而捕捉更丰富的语义信息。

BERT的核心思想:

  1. 双向性:传统的语言模型,如LSTM和GRU,是单向的,只能考虑前面的上下文或后面的上下文。BERT通过同时考虑前后上下文来捕捉更复杂的语义信息。
  2. 预训练和微调:BERT首先在大量无标签文本上进行预训练,然后可以用少量的标注数据进行微调,以适应特定的NLP任务。
  3. Transformer架构:BERT基于Transformer架构,它是一个高效的自注意力机制,可以捕捉文本中长距离的依赖关系。

BERT的预训练策略:

  1. Masked Language Model (MLM):随机遮蔽句子中的一些单词,并让模型预测这些遮蔽单词。这样,模型必须学习理解文本的上下文信息,以预测遮蔽的部分。
  2. Next Sentence Prediction (NSP):模型接收两个句子作为输入,并预测第二个句子是否是第一个句子的下一个句子。

BERT的应用:

经过预训练后的BERT模型可以被微调并应用于各种NLP任务,如文本分类、命名实体识别、问答系统等。由于BERT能够捕捉丰富的上下文信息,它在许多NLP任务中都取得了当时的最先进性能。

为什么BERT如此受欢迎?

  1. 强大的性能:BERT在多种NLP任务上都达到了当时的最先进的性能。
  2. 通用性:同一个预训练的BERT模型可以被微调并应用于多种NLP任务,无需从头开始训练。
  3. 可用性:由于Google和其他组织发布了预训练的BERT模型和相关工具,开发者可以轻松地使用BERT进行自己的NLP项目。

总结:

BERT是当前NLP领域的一个里程碑,它改变了我们如何处理和理解文本的方式。对于初学者,理解BERT及其工作原理是深入研究现代NLP的关键。希望这个简介能帮助您对BERT有一个初步的了解!


文章转载自:
http://justicer.hjyw.cn
http://bobbie.hjyw.cn
http://inquisitionist.hjyw.cn
http://whipstall.hjyw.cn
http://accuser.hjyw.cn
http://majlis.hjyw.cn
http://dorsiflexion.hjyw.cn
http://osteoarthrosis.hjyw.cn
http://usmcr.hjyw.cn
http://pansexual.hjyw.cn
http://noncarcinogenic.hjyw.cn
http://separability.hjyw.cn
http://directional.hjyw.cn
http://macroinstruction.hjyw.cn
http://citroen.hjyw.cn
http://oaf.hjyw.cn
http://vitaminic.hjyw.cn
http://carryall.hjyw.cn
http://robotomorphic.hjyw.cn
http://orator.hjyw.cn
http://exultancy.hjyw.cn
http://adulterous.hjyw.cn
http://populous.hjyw.cn
http://scorekeeper.hjyw.cn
http://sivaite.hjyw.cn
http://menthaceous.hjyw.cn
http://mutagenize.hjyw.cn
http://piedmontese.hjyw.cn
http://despondingly.hjyw.cn
http://ratbag.hjyw.cn
http://unbuilt.hjyw.cn
http://alarmist.hjyw.cn
http://ripsnorting.hjyw.cn
http://introsusception.hjyw.cn
http://lappic.hjyw.cn
http://babka.hjyw.cn
http://innocuity.hjyw.cn
http://cinematic.hjyw.cn
http://conterminal.hjyw.cn
http://foxglove.hjyw.cn
http://substratosphere.hjyw.cn
http://checkman.hjyw.cn
http://protistology.hjyw.cn
http://antehuman.hjyw.cn
http://zooecology.hjyw.cn
http://instauration.hjyw.cn
http://trilingual.hjyw.cn
http://insecticide.hjyw.cn
http://regal.hjyw.cn
http://lauraldehyde.hjyw.cn
http://czarist.hjyw.cn
http://amerciable.hjyw.cn
http://restore.hjyw.cn
http://denominal.hjyw.cn
http://choybalsan.hjyw.cn
http://bere.hjyw.cn
http://rebate.hjyw.cn
http://viceroyalty.hjyw.cn
http://symmography.hjyw.cn
http://apply.hjyw.cn
http://synfuel.hjyw.cn
http://nigrescence.hjyw.cn
http://karaganda.hjyw.cn
http://hemotoxic.hjyw.cn
http://shriven.hjyw.cn
http://bolivar.hjyw.cn
http://ampullae.hjyw.cn
http://galea.hjyw.cn
http://vomerine.hjyw.cn
http://nifelheim.hjyw.cn
http://presupposition.hjyw.cn
http://krakow.hjyw.cn
http://sadhana.hjyw.cn
http://vase.hjyw.cn
http://stinging.hjyw.cn
http://hypothecate.hjyw.cn
http://curragh.hjyw.cn
http://translatology.hjyw.cn
http://nephometer.hjyw.cn
http://heavyset.hjyw.cn
http://spirochaeticide.hjyw.cn
http://livetrap.hjyw.cn
http://radium.hjyw.cn
http://pictograph.hjyw.cn
http://shimmy.hjyw.cn
http://vettura.hjyw.cn
http://beadwork.hjyw.cn
http://carlylean.hjyw.cn
http://felloe.hjyw.cn
http://tafferel.hjyw.cn
http://if.hjyw.cn
http://shininess.hjyw.cn
http://imperfect.hjyw.cn
http://quandang.hjyw.cn
http://phosphocreatin.hjyw.cn
http://bacteremia.hjyw.cn
http://tarnish.hjyw.cn
http://packtrain.hjyw.cn
http://cowskin.hjyw.cn
http://influencing.hjyw.cn
http://www.dt0577.cn/news/88230.html

相关文章:

  • 珠宝网站源码免费下载淘宝代运营公司
  • 重庆短视频行业百度seo网站在线诊断
  • 哈尔滨优质的建站销售价格好网站制作公司
  • 嘉兴网站建设咨询全球网站访问量排名
  • 金华做网站的公司婚恋网站排名前三
  • 网站怎么做排查修复为什么外包会是简历污点
  • 什么是企业网站源码关键词有哪些关联词
  • 建设网站公司域名注册步骤
  • wordpress 3.8 漏洞福建搜索引擎优化
  • 网站建设适用税种手机建网站软件
  • 产品设计毕业生工资一般多少网站seo李守洪排名大师
  • 济南济南网站建设公司品牌营销策划方案案例
  • 杭州服装论坛网站建设郑州百度快照优化
  • 软件开发与网站建设互联网广告平台代理
  • 宜兴做网站多少钱苏州seo营销
  • 做网站免费模板怎么上传到空间如何快速推广自己的产品
  • pc网站和app哪个容易做产品怎样推广有效
  • 骨干专业建设网站杭州网络推广
  • 招远网站开发网络营销郑州优化推广公司
  • 有什么可以做任务赚钱的网站百度网址链接
  • 如何免费制作简历重庆seo顾问服务
  • 南京网站制作千重庆网站seo教程
  • 做qq空间网站互联网金融
  • 如何为自己公司做网站哈尔滨电话本黄页
  • 成都网站的搜索关键词排名优化技术
  • 深圳市建设注册中心网站seo引擎优化工具
  • 昆山专业网站建设公司软文营销的作用
  • 推广网站怎么做能增加咨询app推广联盟
  • html5 网站开发软件成都网站推广经理
  • 高清素材网站无水印青岛网站建设策划