import numpy as np
import pandas as pd
from transformers import BertTokenizer, TFBertModel, AutoTokenizer, TFAutoModel
import matplotlib.pyplot as plt
import tensorflow as tf
from datasets import load_dataset
from sklearn.model_selection import train_test_split
import gc
class CFG:
batch_size = 128
sequence_length = 128
→ Batch_size와 Sequence_length를 미리 지정함
try:
tpu = tf.distribute.cluster_resolver.TPUClusterResolver()
tf.config.experimental_connect_to_cluster(tpu)
tf.tpu.experimental.initialize_tpu_system(tpu)
strategy = tf.distribute.experimental.TPUStrategy(tpu)
CFG.batch_size = strategy.num_replicas_in_sync * 16
except ValueError:
strategy = tf.distribute.get_strategy() # for CPU and single GPU
print('Number of replicas:', strategy.num_replicas_in_sync)
train = pd.read_csv("../input/contradictory-my-dear-watson/train.csv")
train.head()
with strategy.scope():
model_roBerta ='joeddav/xlm-roberta-large-xnli'
tokenizer = AutoTokenizer.from_pretrained(model_roBerta)
encoder = TFAutoModel.from_pretrained(model_roBerta)
gc.collect()
<aside> 💡 자연어 처리 작업을 위해 사전 학습된 XLM-RoBERTa 모델을 설정하는 코드
</aside>
strategy.scope():
→ 여러 장치나 기계 간 계산 병렬화
model_roBerta 변수에 문자열 할당
→ 자연어 처리 작업에 사용되는 사전 학습된 XLM-Roberta 모델의 이름을 할당
Autotokenizer.from_pretrained()
→ tokenizer 객체를 만듦.
→ XLM-RoBERTa 모델의 사전 학습된 가중치 및 구성으로 신경망 초기화
gc.collect()
→ 사용되지 않은 객체를 가비지 컬렉션화 함
→ 이를 메모리 해제
<aside> 💡 자연어 이해 작업 중 하나인 문장 간 추론을 수행하기 위한 데이터 셋 중 하나
</aside>