https://www.youtube.com/watch?v=nx10eh4CoOs&list=PLo2EIpI_JMQvWfQndUesu0nPBAtZ9gP1o&index=29
# ['logits']라면 우선 토크나이즈 된 데이터셋의 validation 데이터셋을 숫자로 만든 후, preds라는 변수에 저장.
preds = model.predict(tokenized_datasets['validation'])['logits']
# 결과 확률값 = tensorflow의 nn 그리고 softmax값에 preds를 넣어서, 각 확률값이 도출되게 만듬.
probabilities = tf.nn.softmax(preds)
# class_preds는, probabilities에 도출된 확률값들에 대해서 argmax를 제공. argmax는 값 중에 가장 큰 값을 도출?
class_preds = np.argmax(probabilities, axis=1)
# ChatGPT답변:
"""
np.argmax는 NumPy 라이브러리에서 제공하는 함수로, 주어진 배열에서 가장 큰 값을 가진 요소의 인덱스를 반환합니다. 여기서 probabilities는 어떤 배열(데이터)이라고 가정하면, np.argmax(probabilities, axis=1)는 각 행에 대해 가장 큰 값을 가진 열(인덱스)을 찾아서 반환하는 것을 의미합니다.
예를 들어, probabilities가 다음과 같은 2차원 배열이라고 가정해보겠습니다:
probabilities = [[0.1, 0.3, 0.6],
[0.2, 0.5, 0.3],
[0.4, 0.2, 0.4]]
np.argmax = [2, 1, 0] --> 가장 큰 값의 인덱스를 제공."""
predictions: Logits --> outputs of the last layer, before softmax is applied. Softmax normalizes logits to probabilities.
from datasets import load_metric
metric = load_metric("glue", "mrpc")
metric.compute(predictions=class_preds, references=validation_labels)
Glue dataset has a predefined metric. mrpc has a built in accuracy metric.
F1 score, precision, recall, accuracy etc.
model.compile(loss=loss, opt=opt, metric=['accuracy']
Normal binary distribution uses below matrix, however, should be different.
Write your training loop in PyTorch (0) | 2023.09.19 |
---|---|
The Trainer API (0) | 2023.09.15 |
Transformers Pipeline, Tokenizer, Model, and Result (0) | 2023.09.14 |
The tokenization pipeline (0) | 2023.09.14 |
What happens inside the pipeline function? (TensorFlow) (0) | 2023.09.13 |