Difference between revisions of "Keras: Konsep Secara Umum"
Onnowpurbo (talk | contribs) (Created page with "Getting started: 30 seconds to Keras The core data structure of Keras is a model, a way to organize layers. The simplest type of model is the Sequential model, a linear stack...") |
Onnowpurbo (talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | Persiapan: 30 detik Mengenal Keras | |
− | + | Inti Struktur data Keras adalah model, cara untuk mengatur lapisan. Jenis model paling sederhana adalah model Sequential, setumpuk linear lapisan. Untuk arsitektur yang lebih kompleks, anda harus menggunakan API fungsional Keras, yang memungkinkan untuk membuat lapisan graph secara bebas. | |
− | + | Berikut adalah model Sequential: | |
from keras.models import Sequential | from keras.models import Sequential | ||
Line 9: | Line 9: | ||
model = Sequential() | model = Sequential() | ||
− | + | Menumpuk lapisan sangat mudah dengan .add(): | |
from keras.layers import Dense | from keras.layers import Dense | ||
Line 16: | Line 16: | ||
model.add(Dense(units=10, activation='softmax')) | model.add(Dense(units=10, activation='softmax')) | ||
− | + | Setelah model anda tampak baik, konfigurasi proses learning dengan .compile(): | |
model.compile(loss='categorical_crossentropy', | model.compile(loss='categorical_crossentropy', | ||
Line 22: | Line 22: | ||
metrics=['accuracy']) | metrics=['accuracy']) | ||
− | + | Jika perlu, anda dapat mengkonfigurasi pengoptimal lebih lanjut. Prinsip inti Keras adalah membuat hal-hal menjadi sederhana, sambil memungkinkan pengguna untuk sepenuhnya mengendalikan ketika mereka perlu (kontrol utama adalah kemudahan ekstensibilitas dari source code). | |
model.compile(loss=keras.losses.categorical_crossentropy, | model.compile(loss=keras.losses.categorical_crossentropy, | ||
optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True)) | optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True)) | ||
− | + | Kita sekarang dapat melakukan iteeasi dari training data dalam beberapa batch: | |
# x_train and y_train are Numpy arrays --just like in the Scikit-Learn API. | # x_train and y_train are Numpy arrays --just like in the Scikit-Learn API. | ||
model.fit(x_train, y_train, epochs=5, batch_size=32) | model.fit(x_train, y_train, epochs=5, batch_size=32) | ||
− | + | Alternatif lain, kita dapat memasukan batch secara manual ke model: | |
model.train_on_batch(x_batch, y_batch) | model.train_on_batch(x_batch, y_batch) | ||
− | + | Evaluasi performance dalam satu kalimat: | |
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) | loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128) | ||
− | + | Atau generate prediksi (per-"dukun"-an) terhadap data: | |
classes = model.predict(x_test, batch_size=128) | classes = model.predict(x_test, batch_size=128) | ||
− | + | Membangun sistem penjawab pertanyaan, model klasifikasi gambar, Neural Turing Machine, atau model lain sama cepatnya. Gagasan di balik Deep Learning sederhana, jadi mengapa penerapannya harus susah? | |
+ | |||
==Pranala Menarik== | ==Pranala Menarik== | ||
* [[Keras]] | * [[Keras]] |
Latest revision as of 10:06, 5 August 2019
Persiapan: 30 detik Mengenal Keras
Inti Struktur data Keras adalah model, cara untuk mengatur lapisan. Jenis model paling sederhana adalah model Sequential, setumpuk linear lapisan. Untuk arsitektur yang lebih kompleks, anda harus menggunakan API fungsional Keras, yang memungkinkan untuk membuat lapisan graph secara bebas.
Berikut adalah model Sequential:
from keras.models import Sequential
model = Sequential()
Menumpuk lapisan sangat mudah dengan .add():
from keras.layers import Dense model.add(Dense(units=64, activation='relu', input_dim=100)) model.add(Dense(units=10, activation='softmax'))
Setelah model anda tampak baik, konfigurasi proses learning dengan .compile():
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
Jika perlu, anda dapat mengkonfigurasi pengoptimal lebih lanjut. Prinsip inti Keras adalah membuat hal-hal menjadi sederhana, sambil memungkinkan pengguna untuk sepenuhnya mengendalikan ketika mereka perlu (kontrol utama adalah kemudahan ekstensibilitas dari source code).
model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
Kita sekarang dapat melakukan iteeasi dari training data dalam beberapa batch:
# x_train and y_train are Numpy arrays --just like in the Scikit-Learn API. model.fit(x_train, y_train, epochs=5, batch_size=32)
Alternatif lain, kita dapat memasukan batch secara manual ke model:
model.train_on_batch(x_batch, y_batch)
Evaluasi performance dalam satu kalimat:
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
Atau generate prediksi (per-"dukun"-an) terhadap data:
classes = model.predict(x_test, batch_size=128)
Membangun sistem penjawab pertanyaan, model klasifikasi gambar, Neural Turing Machine, atau model lain sama cepatnya. Gagasan di balik Deep Learning sederhana, jadi mengapa penerapannya harus susah?