참고) 해당 포스팅은 패스트 캠퍼스 100% 환급 챌린지 미션 기록용 포스팅이며, 강좌 내용에 맞추어 포스팅함을 언급
클립명 : PART2)TensorFlow 2.0과 Pytorch 프레임워크 기초
10. TensorFlow2.0 - Optimizer 및 Training(Expert) - 2 11. TensorFlow2.0 Evaluatinn & Predicting 11. TensorFlow2.0Pytorch
이번 포스팅도 저번 포스팅과 비슷하다. 그동안 말로 설명해던 것들의 대한 코드 구현이다. 초보자들이 듣기에는 다소 난해한 부분들이 많다. 강사님도 코드를 보면서 하시기 바쁘신지 아니면 그냥 빨리 넘어가려고 하시는지는 몰라도 대충 코드만 구현하고 자세한 설명은 없이 그냥 넘어가는 부분들이 많아 포스팅에서 글로 적을 내용이 없었다. 실제로 강의를 들어보면 TensorFlow 및 Keras의 메소드의 대한 구현 방법이나 자세한 설명 없이 단순히 코드 구현 후 넘어가는 부분이 정말 대부분이기에 이번 포스팅에서도 코드를 어떻게 구현했는지만 포스팅 한다. 물론 코드 구현에 대한 설명이 없기 때문에 뭐라 언급할 내용도 없다.
다음 포스팅에서는 해당 강의의 대한 내용들은 넘어갈 것이며, 해당 챕터의 대한 내용들은 이번 포스팅이 마지막이 되겠다. 아쉬운점들이 많은 챕터다. 다른 강사님 강의에서는 이러지 않기를 바란는 마음에 코드를 포스팅한다.
#%% Section2 10 ~ 12
# @tf.function - 기존 session 열었던 것처럼 바로 작동 안 하고, 그래프만 만들고 학습이 시작되면 돌아가도록 함
@tf.function
def train_step(images, labels):
with tf.GradientTape() as tape:
predictions = model(images)
loss = loss_object(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
train_loss(loss)
train_accuracy(labels, predictions)
@tf.function
def test_step(images, labels):
predictions = model(images)
t_loss = loss_object(labels, predictions)
test_loss(t_loss)
test_accuracy(labels, predictions)
for epoch in range(2):
for images, labels in train_ds:
train_step(images, labels)
print(1)
for test_images, test_labels in test_ds:
test_step(test_images, test_labels)
template = 'Epoch: {}, Loss: {}, Accuracy: {}, Test Loss {}, Test Accuracy: {}'
print(template.format(epoch + 1,
train_loss.result(),
train_accuracy.result() * 100,
test_loss.result(),
test_accuracy.result() * 100))
#%%
# Training
(x_train, y_train), (x_test, y_test) = mnist.load_data()
num_epochs = 1
batch_size = 64
hist = model.fit(train_x, train_y,
batch_size = batch_size,
shuffle = True)
# 학습한 모델 확인
model.evaluate(test_x, test_y, batch_size = batch_size)
model.evaluate(test_x, )
import matplotlib.pyplot as plt
import numpy as np
test_image = test_x[0, :, :, 0]
test_image.shape
plt.title(test_y[0])
plt.imshow(test_image, 'gray')
plt.show()
(글자수 :Code포함 2000자 이상)
강의 소개 링크 : bit.ly/3cx6kMd
'Deep Learning & AI > AI' 카테고리의 다른 글
딥러닝의 3 STEP의 기초 (4~6강) (0) | 2021.03.09 |
---|---|
딥러닝의 3 STEP의 기초 (1~3강) (0) | 2021.03.08 |
Tensorflow2.0 각 CNN 코드 구현 (0) | 2021.03.02 |
Tensorflow2.0 각 Layer별 역활 개념 및 파라미터 파악 (0) | 2021.02.27 |
TensorFlow & Pytorch 소개, 사용법 및 dataset 소개 (0) | 2021.02.25 |