0% menganggap dokumen ini bermanfaat (0 suara)
2 tayangan20 halaman

TensorFlow Keras AI Engineer Guide

Dokumen ini adalah panduan praktis untuk belajar Neural Network menggunakan TensorFlow dan Keras, mencakup topik dari dasar hingga teknik lanjutan. Pembaca akan mempelajari cara memproses data, membangun dan melatih model, serta mencegah overfitting. Panduan ini juga memberikan tips untuk menjadi AI Engineer yang siap industri.

Diunggah oleh

mranggamaulana22
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
2 tayangan20 halaman

TensorFlow Keras AI Engineer Guide

Dokumen ini adalah panduan praktis untuk belajar Neural Network menggunakan TensorFlow dan Keras, mencakup topik dari dasar hingga teknik lanjutan. Pembaca akan mempelajari cara memproses data, membangun dan melatih model, serta mencegah overfitting. Panduan ini juga memberikan tips untuk menjadi AI Engineer yang siap industri.

Diunggah oleh

mranggamaulana22
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

🧠

Neural Network dengan


TensorFlow & Keras
Panduan Praktis untuk Calon AI Engineer

🎯 Mulai dari Nol 💻 Kode Langsung Pakai 🚀 Siap Industri


📍 Peta Materi — Kamu akan belajar apa aja?

Sebelum terjun ke kode, penting untuk tahu alur belajarnya dulu. Berikut adalah gambaran besar
dari apa yang akan kamu kuasai di modul ini:

# Topik Yang Akan Kamu Bisa


1 TensorFlow & Keras Paham framework utama AI
dan kenapa dipakai industri
2 Pra-pemrosesan Data Siapkan data gambar & teks
sebelum dilatih
3 Membuat & Melatih Model Bangun neural network dari nol,
latih, prediksi
4 Multi-Layer & Multi-Kelas Model yang lebih dalam = lebih
pintar
5 Plot & Evaluasi Visualisasi loss & akurasi,
deteksi masalah
6 Dropout & Batch Norm Cegah overfitting, buat model
lebih robust
7 Callbacks Efisiensi training dengan early
stopping
8 TF Datasets & Batch Loading Handle data besar seperti di
industri

💡 Tips untuk AI Engineer


TensorFlow adalah salah satu skill paling dicari untuk posisi ML Engineer, Data Scientist, dan
AI Engineer.
Kuasai modul ini = kamu sudah punya fondasi yang dipakai di perusahaan seperti Google,
Gojek, Tokopedia, dll.
01 — Mengenal TensorFlow & Keras

TensorFlow
TensorFlow (TF) adalah platform open-source untuk machine learning yang dikembangkan oleh
Google. Ini adalah framework paling populer di industri AI karena fleksibel, scalable, dan punya
ekosistem tools yang lengkap.

Kenapa TensorFlow?
• Open-source & Gratis: Bisa dipakai siapa saja tanpa biaya, dari mahasiswa sampai peneliti
Google.
• Scalable: Model kamu bisa jalan di laptop, HP, cloud, bahkan di tepi jaringan (edge device).
• Multi-bahasa: Support Python, JavaScript, C++, Kotlin, dan banyak lagi.
• Hardware Acceleration: Bisa memanfaatkan GPU/TPU untuk training yang jauh lebih cepat.
• TensorBoard: Tool visualisasi bawaan untuk monitoring training — wajib dipakai saat
debugging model.
• Komunitas Besar: Jutaan developer, ribuan tutorial, banyak solusi di Stack Overflow.

💡 Tips untuk AI Engineer


Untuk belajar/eksplorasi, kamu bisa pakai CPU biasa. Kalau dataset besar (gambar, audio,
video), pakai GPU.
Tidak punya GPU? Pakai Google Colab (gratis) atau Kaggle Kernels — keduanya
menyediakan GPU/TPU gratis!
TensorFlow update cepat. Cek versi terbaru di [Link] agar tidak pakai API yang sudah
deprecated.

Keras
Keras adalah API high-level yang berjalan di atas TensorFlow. Dengan Keras, kamu bisa bangun
neural network yang kompleks hanya dengan beberapa baris kode yang mudah dibaca dan
dipahami.

Sejak 2017, Keras sudah terintegrasi langsung ke dalam TensorFlow. Jadi kamu bisa akses Keras
lewat:

Python
import tensorflow as tf

# Keras sudah ada di dalam TensorFlow


[Link] # Ini adalah Keras

🔑 Konsep Kunci: MLP (Multi Layer Perceptron)


MLP adalah neural network paling dasar: ada input layer, satu atau lebih hidden layer, dan
output layer.
MLP dengan banyak hidden layer disebut Deep Neural Network (DNN).
Ini adalah fondasi dari semua arsitektur deep learning modern.
02 — Pra-pemrosesan Data

Prinsip penting yang wajib kamu hafal sebagai AI Engineer:

"Garbage In, Garbage Out"


Data kotor → Model buruk. Selalu proses data dulu sebelum training!

4 Langkah Pra-pemrosesan (Universal)


1. Ubah data ke dalam bentuk array/tensor — format yang bisa diterima model.
2. Pisahkan atribut (fitur) dan label (target/output).
3. Normalisasi data ke skala yang seragam (biasanya 0–1).
4. Split data menjadi training set dan test set.

A. Pemrosesan Data Gambar


Ada dua cara augmentasi tergantung versi TensorFlow yang kamu pakai:

TensorFlow versi ≤ 2.9 — pakai ImageDataGenerator


Python
from [Link] import ImageDataGenerator

# Augmentasi untuk data training


train_datagen = ImageDataGenerator(
rescale=1./255, # Normalisasi piksel 0-255 → 0-1
rotation_range=20, # Rotasi acak hingga 20 derajat
horizontal_flip=True, # Flip gambar horizontal
shear_range=0.2, # Geser perspektif
fill_mode="nearest" # Isi piksel kosong
)

# Test set HANYA dinormalisasi, TIDAK diaugmentasi


test_datagen = ImageDataGenerator(rescale=1./255)

TensorFlow versi > 2.9 — pakai [Link] layers


Python
import tensorflow as tf
from [Link] import layers

IMG_SIZE = 180

# Layer resize + normalisasi


resize_and_rescale = [Link]([
[Link](IMG_SIZE, IMG_SIZE),
[Link](1./255)
])

# Layer augmentasi
data_augmentation = [Link]([
[Link]("horizontal_and_vertical"),
[Link](0.2),
])

# Masukkan ke dalam model


model = [Link]([
resize_and_rescale,
data_augmentation,
layers.Conv2D(16, 3, padding="same", activation="relu"),
layers.MaxPooling2D(),
# ... layer lainnya
])

⚠️Perhatikan!
Augmentasi hanya aktif saat [Link]() — TIDAK aktif saat [Link]() atau
[Link]().
Dengan TF > 2.9, augmentasi berjalan bersamaan dengan layer lain sehingga butuh GPU
untuk performa optimal.

B. Pemrosesan Data Teks (NLP)


Komputer tidak bisa langsung membaca kata-kata. Kita harus mengubah teks menjadi angka
terlebih dahulu.

Langkah 1: Tokenisasi
Python
from [Link] import Tokenizer

sentences = ["I love my cat", "Do you think my cat is cute?"]

# Tokenizer: mengubah kata → indeks angka unik


tokenizer = Tokenizer(num_words=100, oov_token="<OOV>")
# oov_token = kata yang tidak dikenal akan dapat indeks khusus
tokenizer.fit_on_texts(sentences)

# Lihat kamus kata yang dibuat


print(tokenizer.word_index)
# Output: {"<OOV>": 1, "my": 2, "cat": 3, ...}

Langkah 2: Padding — Samakan panjang semua kalimat


Python
from [Link] import pad_sequences

sequences = tokenizer.texts_to_sequences(sentences)

# Padding: tambah angka 0 agar semua kalimat panjangnya sama


padded = pad_sequences(
sequences,
padding="post", # Tambah 0 di akhir kalimat
truncating="post", # Potong dari belakang jika terlalu panjang
maxlen=10 # Panjang maksimum
)
print(padded)
# Semua kalimat sekarang panjangnya 10 — siap masuk model!

💡 Tips untuk AI Engineer


oov_token penting agar model tidak crash saat menemukan kata baru yang belum pernah
dilihat saat training.
Padding wajib karena neural network butuh input dengan ukuran yang konsisten.
Layer Embedding biasanya dipakai setelah padding untuk mengubah indeks kata menjadi
vektor bermakna.
03 — Membuat & Melatih Model Neural Network

Alur Standar Membangun Model


Ini adalah pola yang akan selalu kamu pakai di industri:

Langkah Fungsi Keterangan


1. Buat arsitektur [Link]([...]) Tumpuk layer-layer yang
dibutuhkan
2. Compile [Link](...) Tentukan optimizer, loss, dan
metrics
3. Training [Link](...) Latih model dengan data
4. Evaluasi [Link](...) Cek performa pada data test
5. Prediksi [Link](...) Gunakan model untuk data
baru

Contoh Lengkap: Regresi Sederhana


Contoh paling dasar — model belajar fungsi f(x) = x + 9:

Python
import tensorflow as tf
import numpy as np

# 1. Siapkan data
X = [Link]([-4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0], dtype=float)
Y = [Link]([ 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0],
dtype=float)

# 2. Buat model
model = [Link]([
[Link](units=1, input_shape=[1])
])

# 3. Compile
[Link](optimizer="sgd", loss="mean_squared_error")

# 4. Latih
[Link](X, Y, epochs=500)

# 5. Prediksi
hasil = [Link]([Link]([10.0]))
print(hasil) # Harusnya mendekati 19.0 (10 + 9)

🧠 Kenapa hasilnya tidak persis 19.0?


Neural network tidak bekerja dengan kepastian — ia menghitung probabilitas.
Model belajar POLA dari data, bukan rumus exak.
Makin banyak data dan epoch yang tepat, makin akurat prediksinya.
Gunakan .round() untuk membulatkan hasil jika loss sudah sangat kecil.

Pilihan Optimizer & Loss Function


Ini adalah dua hyperparameter yang paling sering dikonfigurasi:

Optimizer / Loss Kapan Dipakai


SGD (Stochastic Gradient Descent) Regresi, dataset kecil, model sederhana
Adam Default terbaik untuk kebanyakan kasus — coba
ini dulu!
RMSprop CNN (data gambar), data time series
--- LOSS FUNCTION --- ---
mean_squared_error Regresi (prediksi angka kontinu)
binary_crossentropy Klasifikasi 2 kelas (ya/tidak, spam/bukan spam)
categorical_crossentropy Klasifikasi banyak kelas, label dalam format one-
hot
sparse_categorical_crossentropy Klasifikasi banyak kelas, label dalam format
integer
04 — Klasifikasi: 2 Kelas & Banyak Kelas

A. Klasifikasi Biner (2 Kelas)


Contoh kasus: klasifikasi buah jeruk vs anggur.

Python
import pandas as pd
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from [Link] import Sequential
from [Link] import Dense

# --- LOAD & PROSES DATA ---


df = pd.read_csv("[Link]")

# Encode label: grapefruit→0, orange→1


from [Link] import LabelEncoder
label_encoder = LabelEncoder()
df["name"] = label_encoder.fit_transform(df["name"])

# Ubah ke array
dataset = [Link]
X = dataset[:, 1:6] # Atribut (kolom 1-5)
y = dataset[:, 0] # Label (kolom 0)

# Normalisasi
scaler = [Link]()
X_scale = scaler.fit_transform(X)

# Split data
X_train, X_test, Y_train, Y_test = train_test_split(
X_scale, y, test_size=0.3 # 70% train, 30% test
)

# --- BUAT MODEL ---


model = Sequential([
Dense(32, activation="relu", input_shape=(5,)),
Dense(32, activation="relu"),
Dense(1, activation="sigmoid") # Sigmoid untuk output 0-1
])

# --- COMPILE & TRAIN ---


[Link](optimizer="sgd", loss="binary_crossentropy", metrics=["accuracy"])
[Link](X_train, Y_train, epochs=100)

# --- EVALUASI ---


[Link](X_test, Y_test)

🔑 Aturan Output Layer untuk Klasifikasi


2 kelas → 1 neuron + aktivasi Sigmoid (output: probabilitas 0 sampai 1)
3+ kelas → N neuron (N = jumlah kelas) + aktivasi Softmax (output: distribusi probabilitas)

Contoh: 10 kelas digit (0-9) → Dense(10, activation="softmax")


B. Klasifikasi Multi-Kelas
Contoh kasus: klasifikasi spesies bunga iris (3 kelas).

Python
# --- PROSES DATA MULTI-KELAS ---
import pandas as pd
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from [Link] import Sequential
from [Link] import Dense

df = pd.read_csv("[Link]")
df = [Link](columns="Id") # Buang kolom yang tidak relevan

# One-hot encoding untuk label multi-kelas


# Iris-setosa → [1,0,0]
# Iris-versicolor → [0,1,0]
# Iris-virginica → [0,0,1]
category = pd.get_dummies([Link], dtype=int)
new_df = [Link]([df, category], axis=1).drop(columns="Species")

dataset = new_df.values
X = dataset[:, 0:4] # 4 fitur bunga
y = dataset[:, 4:7] # 3 label one-hot

# Normalisasi & split


scaler = [Link]()
X_scale = scaler.fit_transform(X)
X_train, X_test, Y_train, Y_test = train_test_split(X_scale, y, test_size=0.3)

# --- MODEL MULTI-KELAS ---


model = Sequential([
Dense(64, activation="relu", input_shape=(4,)),
Dense(64, activation="relu"),
Dense(3, activation="softmax") # 3 kelas → 3 neuron + softmax
])

[Link](
optimizer="Adam",
loss="categorical_crossentropy", # Karena label one-hot
metrics=["accuracy"]
)

hist = [Link](X_train, Y_train, epochs=100)


[Link](X_test, Y_test)
05 — Visualisasi: Plot Loss & Akurasi

Setelah training, jangan cuma lihat angka di terminal. Visualisasi dengan grafik jauh lebih informatif
untuk mendeteksi masalah pada model.

Python
import [Link] as plt

# hist = [Link](...) — simpan objek history saat training

# Plot Loss
[Link](figsize=(12, 4))

[Link](1, 2, 1)
[Link]([Link]["loss"], label="Training Loss")
[Link]([Link]["val_loss"], label="Validation Loss") # Jika pakai
validation_split
[Link]("Loss selama Training")
[Link]("Epoch")
[Link]("Loss")
[Link]()

# Plot Akurasi
[Link](1, 2, 2)
[Link]([Link]["accuracy"], label="Training Accuracy")
[Link]([Link]["val_accuracy"], label="Validation Accuracy")
[Link]("Akurasi selama Training")
[Link]("Epoch")
[Link]("Accuracy")
[Link]()

plt.tight_layout()
[Link]()

Cara Membaca Plot — Deteksi Masalah Model


Pola Plot Artinya Solusi
Train acc tinggi, Val acc OVERFITTING — model hapal Pakai Dropout, tambah data,
rendah data, tidak generalisasi kurangi layer
Train & Val acc sama-sama UNDERFITTING — model Tambah layer/neuron, latih
rendah terlalu sederhana lebih lama
Train & Val acc sama-sama GOOD FIT — model ideal! Pertahankan, fine-tune jika
tinggi perlu
Loss turun lalu naik lagi Overfitting mulai muncul di Pakai EarlyStopping callbacks
epoch tertentu
06 — Mencegah Overfitting: Dropout & Batch Normalization

Dropout
Dropout adalah teknik yang "mematikan" sebagian neuron secara acak selama training. Ini
memaksa model untuk tidak bergantung pada neuron tertentu, sehingga lebih generalisasi.

Python
from [Link] import Dense, Dropout

model = Sequential([
Dense(64, activation="relu", input_shape=(4,)),
Dense(64, activation="relu"),
Dropout(0.5), # Matikan 50% neuron layer sebelumnya secara acak
Dense(3, activation="softmax")
])

# Dropout hanya aktif saat training — otomatis nonaktif saat prediksi

Batch Normalization
Batch Normalization menormalisasi output setiap layer agar training lebih stabil dan cepat
konvergen. Ini juga membantu mengatasi masalah vanishing gradient.

Python
from [Link] import Dense, Dropout, BatchNormalization

model = Sequential([
Dense(64, activation="relu", input_shape=(4,)),
Dense(64, activation="relu"),
Dropout(0.5),
BatchNormalization(momentum=0.99),
# momentum=0.99: 99% info batch lama, 1% batch baru
# Nilai umum: 0.9 - 0.999
Dense(3, activation="softmax")
])

🧠 Kapan Pakai Dropout vs Batch Normalization?


Dropout → Ketika model overfitting (val accuracy jauh di bawah train accuracy)
Batch Normalization → Ketika training lambat atau tidak stabil (loss naik turun ekstrem)
Bisa dipakai bersamaan untuk hasil terbaik — seperti contoh di atas!

Catatan: BatchNorm bukan jaminan anti-overfitting. Jika data terlalu sedikit, model tetap bisa
overfit.
07 — Efisiensi Training: Callbacks

Bayangkan kamu set 1000 epoch, tapi model sudah mencapai akurasi target di epoch ke-50. Tanpa
callbacks, kamu buang waktu 950 epoch percuma. Callbacks memungkinkan model berhenti
otomatis!

Custom Callback
Python
import tensorflow as tf

# Buat custom callback


class StopAtAccuracy([Link]):
def on_epoch_end(self, epoch, logs={}):
if [Link]("accuracy") > 0.95: # Target: 95% akurasi
print(f"\nTarget tercapai di epoch {epoch+1}! Berhenti training.")
[Link].stop_training = True

callback = StopAtAccuracy()

# Tambahkan ke [Link]()
[Link](X_train, Y_train, epochs=1000, callbacks=[callback])
# Model akan berhenti sendiri ketika akurasi > 95%

EarlyStopping — Callback Bawaan TensorFlow


Untuk production, lebih disarankan pakai EarlyStopping yang sudah ada di TensorFlow:

Python
from [Link] import EarlyStopping, ModelCheckpoint

# EarlyStopping: berhenti jika val_loss tidak membaik selama N epoch


early_stop = EarlyStopping(
monitor="val_loss", # Pantau validation loss
patience=10, # Tunggu 10 epoch sebelum berhenti
restore_best_weights=True # Kembalikan weights terbaik
)

# ModelCheckpoint: simpan model terbaik secara otomatis


checkpoint = ModelCheckpoint(
"best_model.h5",
save_best_only=True,
monitor="val_accuracy"
)

[Link](
X_train, Y_train,
epochs=1000,
validation_split=0.2, # 20% data train jadi validasi
callbacks=[early_stop, checkpoint]
)
💡 Tips untuk AI Engineer
Di industri, EarlyStopping + ModelCheckpoint adalah kombinasi standar yang selalu dipakai.
restore_best_weights=True sangat penting — tanpa ini, kamu dapat model dari epoch terakhir,
bukan yang terbaik!
Pakai validation_split atau validation_data agar callbacks bisa memantau performa di data yang
tidak dilihat model.
08 — TF Datasets & Batch Loading

Menggunakan Dataset dari TensorFlow


TensorFlow menyediakan dataset siap pakai yang bisa langsung dipakai untuk belajar dan
eksperimen.

Cara 1: [Link]
Python
import tensorflow as tf

# Load MNIST (angka tulisan tangan 0-9)


mnist = [Link]
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# Normalisasi
x_train, x_test = x_train / 255.0, x_test / 255.0

# Dataset lain yang tersedia:


# [Link].fashion_mnist → 10 kategori pakaian
# [Link].cifar10 → 10 kategori objek umum
# [Link] → review film (NLP)

Cara 2: TensorFlow Datasets (TFDS) — lebih banyak pilihan


Python
# Install dulu: pip install tensorflow-datasets
import tensorflow_datasets as tfds

# Lihat semua dataset yang tersedia


print(tfds.list_builders())

# Load dataset dengan split


(train_images, train_labels), (test_images, test_labels) = tfds.as_numpy(
[Link](
"mnist",
split=["train", "test"],
batch_size=-1, # Load semua sekaligus
as_supervised=True # Return (features, labels)
)
)

Batch Loading — Training Data Besar Secara Efisien


Batch loading adalah cara model melakukan update parameter setelah membaca sejumlah sampel,
bukan semua data sekaligus.

Batch Size Trade-off


Kecil (8, 16) Training lambat, tapi update lebih sering, bisa
keluar dari local minimum
Sedang (32, 64) Default yang umum dipakai — keseimbangan
kecepatan & kualitas
Besar (128, 256+) Training lebih cepat, tapi butuh lebih banyak
memori GPU

Python
# Contoh penggunaan batch_size

# Tanpa batch_size → default 32


[Link](x_train, y_train, epochs=5)

# Dengan batch_size eksplisit


[Link](x_train, y_train, batch_size=64, epochs=5)

# Batch size lebih besar = tiap epoch lebih cepat


[Link](x_train, y_train, batch_size=128, epochs=5)

💡 Tips untuk AI Engineer


Tidak ada batch_size yang "paling benar" — coba 32, 64, 128 dan lihat mana yang terbaik
untuk kasusmu.
Jika CUDA out of memory error, kurangi batch_size.
Untuk dataset yang tidak muat di RAM, gunakan [Link] pipeline dengan .batch()
method.
📋 Quick Reference — Cheat Sheet AI Engineer

Template Model Lengkap


Python
import tensorflow as tf
from [Link] import layers
from [Link] import EarlyStopping, ModelCheckpoint

# ===== 1. LOAD & PROSES DATA =====


# (sesuaikan dengan jenis data kamu)
x_train, y_train = ...
x_test, y_test = ...

# ===== 2. BUAT ARSITEKTUR MODEL =====


model = [Link]([
[Link](128, activation="relu", input_shape=(n_features,)),
[Link](0.3),
[Link](),
[Link](64, activation="relu"),
[Link](0.3),
# Output layer: sesuaikan dengan jenis masalah
# Regresi: [Link](1)
# Biner: [Link](1, activation="sigmoid")
# Multi-kelas N: [Link](N, activation="softmax")
[Link](n_classes, activation="softmax")
])

# ===== 3. COMPILE =====


[Link](
optimizer="adam",
loss="sparse_categorical_crossentropy", # Sesuaikan!
metrics=["accuracy"]
)

# ===== 4. SETUP CALLBACKS =====


callbacks = [
EarlyStopping(monitor="val_loss", patience=10, restore_best_weights=True),
ModelCheckpoint("best_model.h5", save_best_only=True)
]

# ===== 5. TRAINING =====


hist = [Link](
x_train, y_train,
epochs=200,
batch_size=32,
validation_split=0.2,
callbacks=callbacks
)

# ===== 6. EVALUASI =====


loss, acc = [Link](x_test, y_test)
print(f"Test Accuracy: {acc:.4f}")

# ===== 7. SIMPAN MODEL =====


[Link]("my_model.h5")

# ===== 8. LOAD & PREDIKSI =====


loaded_model = [Link].load_model("my_model.h5")
predictions = loaded_model.predict(x_new)
Activation Function — Kapan Pakai?
Activation Dipakai Di Catatan
ReLU Hidden layers (default) Paling umum, cepat, efektif
Sigmoid Output layer — klasifikasi biner Output 0-1, satu probabilitas
Softmax Output layer — multi-kelas Output distribusi probabilitas
semua kelas
Linear (None) Output layer — regresi Tidak ada aktivasi = output
bebas range

Troubleshooting Umum
Masalah Kemungkinan Penyebab Solusi
Akurasi stuck di nilai kecil Data belum dinormalisasi Bagi dengan 255 (gambar) atau
pakai MinMaxScaler
Loss tidak turun Learning rate terlalu besar/kecil Coba Adam optimizer, atau atur
learning_rate
Overfitting Model terlalu kompleks / data Tambah Dropout, pakai
sedikit augmentasi, tambah data
CUDA Out of Memory Batch size terlalu besar Kurangi batch_size ke 16 atau
8
Akurasi 0 atau 1 sejak awal Label encoding salah / loss Cek format label dan pastikan
function salah loss sesuai
🚀 Next Steps — Apa yang Perlu Dipelajari Selanjutnya?

Selamat! Kamu sudah punya fondasi yang kuat. Berikut roadmap lanjutan untuk menjadi AI Engineer
profesional:

Tier 1 — Kuasai Ini Setelah Modul Ini


• CNN (Convolutional Neural Network): Untuk data gambar — image classification, object
detection
• RNN / LSTM: Untuk data sequential — teks, time series, audio
• Transfer Learning: Pakai model pre-trained (VGG16, ResNet, BERT) untuk percepat
training
• Model Evaluation: Confusion matrix, precision, recall, F1-score — bukan cuma akurasi

Tier 2 — Level Industri


• MLOps: Deploy model ke production: TensorFlow Serving, FastAPI, Docker
• Experiment Tracking: MLflow, Weights & Biases (W&B) — wajib di perusahaan
• Data Pipeline: [Link], Apache Beam, Spark untuk handle data berskala besar
• Model Optimization: Quantization, pruning, TFLite untuk deploy di edge device

Resources yang Direkomendasikan


• TensorFlow Official Docs: [Link] — selalu cek sini untuk API terbaru
• Kaggle: [Link] — latihan dengan dataset nyata, ikut kompetisi
• Papers With Code: [Link] — riset terbaru + kode implementasinya
• [Link]: [Link] — kursus deep learning praktis, gratis
• Hugging Face: [Link] — ekosistem NLP & model pre-trained terbesar

💡 Tips untuk AI Engineer


Praktik > Teori. Setelah baca modul ini, langsung buka Google Colab dan implementasikan
kodenya!
Ikut kompetisi Kaggle — bahkan sekadar submit adalah pengalaman berharga.
Bangun portfolio project di GitHub. Rekruter suka lihat kode nyata.
Join komunitas: Discord TensorFlow, Reddit r/MachineLearning, komunitas AI Indonesia.

— Semangat terus, calon AI Engineer! 🚀 —

Dibuat ulang & diperkaya untuk pembelajaran yang lebih efektif

Anda mungkin juga menyukai