C.W.K.
Stream
Lesson 08 of 08 · published

실전 — 같은 모델, 세 backend

~8 min · backend

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

학습 대상은 단순 — 한 model 코드, env var 만 바꿔 세 backend 에서 같은 정확도. CNN 으로 MNIST 빌드 (Conv2D + MaxPooling + Dense), compile + fit 5 epoch. 마지막에 model.evaluate 의 accuracy 비교.

예상: 셋 다 99% 근처. 차이는 epoch 시간과 메모리 — TF/JAX 가 보통 더 빠르고 PyTorch 가 디버깅 편함. 본인 환경에서 실측해서 어디가 어떤 trade-off 있는지 *직접* 느껴보는 게 이 실습의 핵심.

Code

import keras
from keras import layers

# This model definition is 100% backend-agnostic
def build_model():
    inputs = keras.Input(shape=(784,))
    x = layers.Dense(256, activation="relu")(inputs)
    x = layers.Dropout(0.3)(x)
    x = layers.Dense(128, activation="relu")(x)
    x = layers.Dropout(0.3)(x)
    outputs = layers.Dense(10, activation="softmax")(x)
    return keras.Model(inputs, outputs)

model = build_model()
model.compile(
    optimizer="adam",
    loss="sparse_categorical_crossentropy",
    metrics=["accuracy"],
)

# Train on any backend — same result
model.fit(x_train, y_train, epochs=10, validation_split=0.2)

# Save — cross-backend compatible!
model.save("my_model.keras")
# Load this on ANY backend — TF, PyTorch, JAX

External links

Exercise

같은 MNIST CNN 을 TF·PyTorch·JAX 다 돌려. 기록: epoch time, peak memory, final accuracy. 표 저장 — 새 프로젝트 backend 고를 때 다시 봐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.