Apache MXNet - Modul API Python
API modul Apache MXNet seperti model FeedForward dan lebih mudah untuk dibuat mirip dengan modul Torch. Ini terdiri dari kelas-kelas berikut -
BaseModule ([logger])
Ini mewakili kelas dasar dari sebuah modul. Sebuah modul dapat dianggap sebagai komponen komputasi atau mesin komputasi. Tugas modul adalah menjalankan operan maju dan mundur. Ini juga memperbarui parameter dalam model.
Metode
Tabel berikut menunjukkan metode yang terdiri BaseModule class-
Metode ini akan mendapatkan status dari semua perangkatMetode | Definisi |
---|---|
mundur ([out_grads]) | Seperti namanya, metode ini mengimplementasikan file backward komputasi. |
mengikat (bentuk_data [, bentuk_label,…]) | Ini mengikat simbol untuk membangun eksekutor dan diperlukan sebelum seseorang dapat melakukan komputasi dengan modul. |
fit (train_data [, eval_data, eval_metric,…]) | Metode ini melatih parameter modul. |
maju (data_batch [, is_train]) | Sesuai namanya, metode ini mengimplementasikan komputasi Teruskan. Metode ini mendukung kumpulan data dengan berbagai bentuk seperti ukuran kumpulan berbeda atau ukuran gambar berbeda. |
maju_balik (data_batch) | Ini adalah fungsi yang nyaman, seperti namanya, yang memanggil maju dan mundur. |
get_input_grads ([merge_multi_context]) | Metode ini akan mendapatkan gradien ke input yang dihitung dalam komputasi mundur sebelumnya. |
get_outputs ([merge_multi_context]) | Sesuai namanya, metode ini akan mendapatkan keluaran dari komputasi maju sebelumnya. |
get_params () | Ia mendapatkan parameter terutama yang berpotensi merupakan salinan dari parameter aktual yang digunakan untuk melakukan komputasi pada perangkat. |
get_states ([merge_multi_context]) | |
init_optimizer ([kvstore, pengoptimal,…]) | Metode ini menginstal dan menginisialisasi pengoptimal. Ini juga menginisialisasikvstore untuk mendistribusikan pelatihan. |
init_params ([penginisialisasi, arg_params,…]) | Sesuai namanya, metode ini akan menginisialisasi parameter dan status tambahan. |
install_monitor (mon) | Metode ini akan menginstal monitor pada semua pelaksana. |
iter_predict (eval_data [, num_batch, setel ulang,…]) | Metode ini akan mengulangi prediksi. |
load_params (fname) | Ini akan, seperti yang ditentukan namanya, memuat parameter model dari file. |
prediksi (eval_data [, num_batch,…]) | Ini akan menjalankan prediksi dan mengumpulkan output juga. |
persiapkan (data_batch [, sparse_row_id_fn]) | Operator menyiapkan modul untuk memproses kumpulan data tertentu. |
save_params (fname) | Seperti yang ditentukan namanya, fungsi ini akan menyimpan parameter model ke file. |
skor (data_val, data_evaluasi [, jumlah_batch,…]) | Prediksi akan dijalankan eval_data dan juga mengevaluasi kinerja sesuai dengan yang diberikan eval_metric. |
set_params (arg_params, aux_params [,…]) | Metode ini akan menetapkan parameter dan nilai status aux. |
set_states ([status, nilai]) | Metode ini, seperti yang tersirat dari namanya, menetapkan nilai untuk status. |
memperbarui() | Metode ini memperbarui parameter yang diberikan sesuai dengan pengoptimal yang diinstal. Ini juga memperbarui gradien yang dihitung dalam kelompok maju-mundur sebelumnya. |
update_metric (eval_metric, label [, pre_sliced]) | Metode ini, sesuai namanya, mengevaluasi dan mengakumulasi metrik evaluasi pada keluaran dari komputasi maju terakhir. |
mundur ([out_grads]) | Seperti namanya, metode ini mengimplementasikan file backward komputasi. |
mengikat (bentuk_data [, bentuk_label,…]) | Ini menyiapkan bucket dan mengikat eksekutor untuk kunci bucket default. Metode ini mewakili pengikatan untuk aBucketingModule. |
maju (data_batch [, is_train]) | Sesuai namanya, metode ini mengimplementasikan komputasi Teruskan. Metode ini mendukung kumpulan data dengan berbagai bentuk seperti ukuran kumpulan berbeda atau ukuran gambar berbeda. |
get_input_grads ([merge_multi_context]) | Metode ini akan mendapatkan gradien ke input yang dihitung dalam komputasi mundur sebelumnya. |
get_outputs ([merge_multi_context]) | Sesuai namanya, metode ini akan mendapatkan keluaran dari komputasi maju sebelumnya. |
get_params () | Ia mendapatkan parameter saat ini terutama yang berpotensi merupakan salinan dari parameter aktual yang digunakan untuk melakukan komputasi pada perangkat. |
get_states ([merge_multi_context]) | Metode ini akan mendapatkan status dari semua perangkat. |
init_optimizer ([kvstore, pengoptimal,…]) | Metode ini menginstal dan menginisialisasi pengoptimal. Ini juga menginisialisasikvstore untuk mendistribusikan pelatihan. |
init_params ([penginisialisasi, arg_params,…]) | Sesuai namanya, metode ini akan menginisialisasi parameter dan status tambahan. |
install_monitor (mon) | Metode ini akan menginstal monitor pada semua pelaksana. |
memuat (awalan, epoch [, sym_gen,…]) | Metode ini akan membuat model dari pos pemeriksaan yang disimpan sebelumnya. |
load_dict ([sym_dict, sym_gen,…]) | Metode ini akan membuat model dari pemetaan kamus (dict) bucket_keyke simbol. Itu juga berbagiarg_params dan aux_params. |
persiapkan (data_batch [, sparse_row_id_fn]) | Operator menyiapkan modul untuk memproses kumpulan data tertentu. |
save_checkpoint (awalan, epoch [, remove_amp_cast]) | Metode ini, seperti namanya, menyimpan kemajuan saat ini ke checkpoint untuk semua bucket di BucketingModule. Direkomendasikan untuk menggunakan mx.callback.module_checkpoint sebagai epoch_end_callback untuk menyimpan selama pelatihan. |
set_params (arg_params, aux_params [,…]) | Seperti yang ditentukan namanya, fungsi ini akan menetapkan parameter dan nilai status aux. |
set_states ([status, nilai]) | Metode ini, seperti yang tersirat dari namanya, menetapkan nilai untuk status. |
switch_bucket (kunci_ bucket, bentuk_data [,…]) | Ini akan beralih ke keranjang yang berbeda. |
memperbarui() | Metode ini memperbarui parameter yang diberikan sesuai dengan pengoptimal yang diinstal. Ini juga memperbarui gradien yang dihitung dalam kelompok maju-mundur sebelumnya. |
update_metric (eval_metric, label [, pre_sliced]) | Metode ini, sesuai namanya, mengevaluasi dan mengakumulasi metrik evaluasi pada keluaran dari komputasi maju terakhir. |
Atribut
Tabel berikut menunjukkan atribut-atribut yang terdiri dari metode BaseModule kelas -
Atribut | Definisi |
---|---|
data_names | Ini terdiri dari daftar nama untuk data yang dibutuhkan oleh modul ini. |
data_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan input data ke modul ini. |
label_shapes | Ini menunjukkan daftar pasangan (nama, bentuk) menentukan input label untuk modul ini. |
output_names | Ini terdiri dari daftar nama untuk keluaran modul ini. |
output_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan keluaran dari modul ini. |
simbol | Seperti nama yang ditentukan, atribut ini mendapatkan simbol yang terkait dengan modul ini. |
data_shapes: Anda dapat merujuk tautan yang tersedia di https://mxnet.apache.orguntuk detailnya. output_shapes: Selengkapnya
output_shapes: Informasi lebih lanjut tersedia di https://mxnet.apache.org/api/python
BucketingModule (sym_gen […])
Ini mewakili Bucketingmodule kelas Modul yang membantu untuk menangani secara efisien dengan input panjang yang bervariasi.
Metode
Tabel berikut menunjukkan metode yang terdiri BucketingModule class -
Atribut
Tabel berikut menunjukkan atribut-atribut yang terdiri dari metode BaseModule class -
Atribut | Definisi |
---|---|
data_names | Ini terdiri dari daftar nama untuk data yang dibutuhkan oleh modul ini. |
data_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan input data ke modul ini. |
label_shapes | Ini menunjukkan daftar pasangan (nama, bentuk) menentukan input label untuk modul ini. |
output_names | Ini terdiri dari daftar nama untuk keluaran modul ini. |
output_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan keluaran dari modul ini. |
Simbol | Seperti nama yang ditentukan, atribut ini mendapatkan simbol yang terkait dengan modul ini. |
data_shapes - Anda dapat merujuk tautan di https://mxnet.apache.org/api/python/docs untuk informasi lebih lanjut.
output_shapes− Anda dapat merujuk tautan di https://mxnet.apache.org/api/python/docs untuk informasi lebih lanjut.
Modul (simbol [, nama_data, nama_label,…])
Ini mewakili modul dasar yang membungkus a symbol.
Metode
Tabel berikut menunjukkan metode yang terdiri Module class -
Metode | Definisi |
---|---|
mundur ([out_grads]) | Seperti namanya, metode ini mengimplementasikan file backward komputasi. |
mengikat (bentuk_data [, bentuk_label,…]) | Ini mengikat simbol untuk membangun eksekutor dan diperlukan sebelum seseorang dapat melakukan komputasi dengan modul. |
loan_optimizer (shared_module) | Sesuai namanya, metode ini akan meminjam pengoptimal dari modul bersama. |
maju (data_batch [, is_train]) | Seperti namanya, metode ini mengimplementasikan file Forwardkomputasi. Metode ini mendukung kumpulan data dengan berbagai bentuk seperti ukuran kumpulan berbeda atau ukuran gambar berbeda. |
get_input_grads ([merge_multi_context]) | Metode ini akan mendapatkan gradien ke input yang dihitung dalam komputasi mundur sebelumnya. |
get_outputs ([merge_multi_context]) | Sesuai namanya, metode ini akan mendapatkan keluaran dari komputasi maju sebelumnya. |
get_params () | Ia mendapatkan parameter terutama yang berpotensi merupakan salinan dari parameter aktual yang digunakan untuk melakukan komputasi pada perangkat. |
get_states ([merge_multi_context]) | Metode ini akan mendapatkan status dari semua perangkat |
init_optimizer ([kvstore, pengoptimal,…]) | Metode ini menginstal dan menginisialisasi pengoptimal. Ini juga menginisialisasikvstore untuk mendistribusikan pelatihan. |
init_params ([penginisialisasi, arg_params,…]) | Sesuai namanya, metode ini akan menginisialisasi parameter dan status tambahan. |
install_monitor (mon) | Metode ini akan menginstal monitor pada semua pelaksana. |
memuat (awalan, epoch [, sym_gen,…]) | Metode ini akan membuat model dari pos pemeriksaan yang disimpan sebelumnya. |
load_optimizer_states (fname) | Metode ini akan memuat pengoptimal yaitu status updater dari file. |
persiapkan (data_batch [, sparse_row_id_fn]) | Operator menyiapkan modul untuk memproses kumpulan data tertentu. |
membentuk kembali (data_shapes [, label_shapes]) | Metode ini, sesuai namanya, membentuk kembali modul untuk bentuk masukan baru. |
save_checkpoint (awalan, epoch [,…]) | Ini menyimpan kemajuan saat ini ke pos pemeriksaan. |
save_optimizer_states (fname) | Metode ini menyimpan pengoptimal atau status pembaru ke file. |
set_params (arg_params, aux_params [,…]) | Seperti yang ditentukan namanya, fungsi ini akan menetapkan parameter dan nilai status aux. |
set_states ([status, nilai]) | Metode ini, seperti yang tersirat dari namanya, menetapkan nilai untuk status. |
memperbarui() | Metode ini memperbarui parameter yang diberikan sesuai dengan pengoptimal yang diinstal. Ini juga memperbarui gradien yang dihitung dalam kelompok maju-mundur sebelumnya. |
update_metric (eval_metric, label [, pre_sliced]) | Metode ini, sesuai namanya, mengevaluasi dan mengakumulasi metrik evaluasi pada keluaran dari komputasi maju terakhir. |
Atribut
Tabel berikut menunjukkan atribut-atribut yang terdiri dari metode Module class -
Atribut | Definisi |
---|---|
data_names | Ini terdiri dari daftar nama untuk data yang dibutuhkan oleh modul ini. |
data_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan input data ke modul ini. |
label_shapes | Ini menunjukkan daftar pasangan (nama, bentuk) menentukan input label untuk modul ini. |
output_names | Ini terdiri dari daftar nama untuk keluaran modul ini. |
output_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan keluaran dari modul ini. |
label_names | Ini terdiri dari daftar nama untuk label yang dibutuhkan oleh modul ini. |
data_shapes: Kunjungi link https://mxnet.apache.org/api/python/docs/api/module untuk keterangan lebih lanjut.
output_shapes: Tautan yang diberikan bersama ini https://mxnet.apache.org/api/python/docs/api/module/index.html akan menawarkan informasi penting lainnya.
PythonLossModule ([nama, nama_data,…])
Basis kelas ini adalah mxnet.module.python_module.PythonModule. Kelas PythonLossModule adalah kelas modul yang nyaman yang mengimplementasikan semua atau banyak API modul sebagai fungsi kosong.
Metode
Tabel berikut menunjukkan metode yang terdiri PythonLossModule kelas:
Metode | Definisi |
---|---|
mundur ([out_grads]) | Seperti namanya, metode ini mengimplementasikan file backward komputasi. |
maju (data_batch [, is_train]) | Seperti namanya, metode ini mengimplementasikan file Forwardkomputasi. Metode ini mendukung kumpulan data dengan berbagai bentuk seperti ukuran kumpulan berbeda atau ukuran gambar berbeda. |
get_input_grads ([merge_multi_context]) | Metode ini akan mendapatkan gradien ke input yang dihitung dalam komputasi mundur sebelumnya. |
get_outputs ([merge_multi_context]) | Sesuai namanya, metode ini akan mendapatkan keluaran dari komputasi maju sebelumnya. |
install_monitor (mon) | Metode ini akan menginstal monitor pada semua pelaksana. |
PythonModule ([nama_data, nama_label…])
Basis kelas ini adalah mxnet.module.base_module.BaseModule. Kelas PythonModule juga merupakan kelas modul yang nyaman yang mengimplementasikan semua atau banyak API modul sebagai fungsi kosong.
Metode
Tabel berikut menunjukkan metode yang terdiri PythonModule kelas -
Metode | Definisi |
---|---|
mengikat (bentuk_data [, bentuk_label,…]) | Ini mengikat simbol untuk membangun eksekutor dan diperlukan sebelum seseorang dapat melakukan komputasi dengan modul. |
get_params () | Ia mendapatkan parameter terutama yang berpotensi merupakan salinan dari parameter aktual yang digunakan untuk melakukan komputasi pada perangkat. |
init_optimizer ([kvstore, pengoptimal,…]) | Metode ini menginstal dan menginisialisasi pengoptimal. Ini juga menginisialisasikvstore untuk mendistribusikan pelatihan. |
init_params ([penginisialisasi, arg_params,…]) | Sesuai namanya, metode ini akan menginisialisasi parameter dan status tambahan. |
memperbarui() | Metode ini memperbarui parameter yang diberikan sesuai dengan pengoptimal yang diinstal. Ini juga memperbarui gradien yang dihitung dalam kelompok maju-mundur sebelumnya. |
update_metric (eval_metric, label [, pre_sliced]) | Metode ini, sesuai namanya, mengevaluasi dan mengakumulasi metrik evaluasi pada keluaran dari komputasi maju terakhir. |
Atribut
Tabel berikut menunjukkan atribut-atribut yang terdiri dari metode PythonModule kelas -
Atribut | Definisi |
---|---|
data_names | Ini terdiri dari daftar nama untuk data yang dibutuhkan oleh modul ini. |
data_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan input data ke modul ini. |
label_shapes | Ini menunjukkan daftar pasangan (nama, bentuk) menentukan input label untuk modul ini. |
output_names | Ini terdiri dari daftar nama untuk keluaran modul ini. |
output_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan keluaran dari modul ini. |
data_shapes - Ikuti tautannya https://mxnet.apache.org untuk detailnya.
output_shapes - Untuk lebih jelasnya, kunjungi tautan yang tersedia di https://mxnet.apache.org
SequentialModule ([logger])
Basis kelas ini adalah mxnet.module.base_module.BaseModule. Kelas SequentialModule juga merupakan modul kontainer yang dapat merangkai lebih dari dua (beberapa) modul bersama-sama.
Metode
Tabel berikut menunjukkan metode yang terdiri SequentialModule kelas
Metode | Definisi |
---|---|
tambahkan (modul, ** kwargs) | Ini adalah fungsi terpenting dari kelas ini. Ini menambahkan modul ke rantai. |
mundur ([out_grads]) | Seperti namanya, metode ini mengimplementasikan komputasi mundur. |
mengikat (bentuk_data [, bentuk_label,…]) | Ini mengikat simbol untuk membangun eksekutor dan diperlukan sebelum seseorang dapat melakukan komputasi dengan modul. |
maju (data_batch [, is_train]) | Sesuai namanya, metode ini mengimplementasikan komputasi Teruskan. Metode ini mendukung kumpulan data dengan berbagai bentuk seperti ukuran kumpulan berbeda atau ukuran gambar berbeda. |
get_input_grads ([merge_multi_context]) | Metode ini akan mendapatkan gradien ke input yang dihitung dalam komputasi mundur sebelumnya. |
get_outputs ([merge_multi_context]) | Sesuai namanya, metode ini akan mendapatkan keluaran dari komputasi maju sebelumnya. |
get_params () | Ia mendapatkan parameter terutama yang berpotensi merupakan salinan dari parameter aktual yang digunakan untuk melakukan komputasi pada perangkat. |
init_optimizer ([kvstore, pengoptimal,…]) | Metode ini menginstal dan menginisialisasi pengoptimal. Ini juga menginisialisasikvstore untuk mendistribusikan pelatihan. |
init_params ([penginisialisasi, arg_params,…]) | Sesuai namanya, metode ini akan menginisialisasi parameter dan status tambahan. |
install_monitor (mon) | Metode ini akan menginstal monitor pada semua pelaksana. |
memperbarui() | Metode ini memperbarui parameter yang diberikan sesuai dengan pengoptimal yang diinstal. Ini juga memperbarui gradien yang dihitung dalam kelompok maju-mundur sebelumnya. |
update_metric (eval_metric, label [, pre_sliced]) | Metode ini, sesuai namanya, mengevaluasi dan mengakumulasi metrik evaluasi pada keluaran dari komputasi maju terakhir. |
Atribut
Tabel berikut menunjukkan atribut yang terdiri dari metode kelas BaseModule -
Atribut | Definisi |
---|---|
data_names | Ini terdiri dari daftar nama untuk data yang dibutuhkan oleh modul ini. |
data_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan input data ke modul ini. |
label_shapes | Ini menunjukkan daftar pasangan (nama, bentuk) menentukan input label untuk modul ini. |
output_names | Ini terdiri dari daftar nama untuk keluaran modul ini. |
output_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan keluaran dari modul ini. |
output_shapes | Ini terdiri dari daftar pasangan (nama, bentuk) yang menentukan keluaran dari modul ini. |
data_shapes - Tautan yang diberikan bersama ini https://mxnet.apache.org akan membantu Anda memahami atribut dengan lebih detail.
output_shapes - Ikuti tautan yang tersedia di https://mxnet.apache.org/api untuk detailnya.
Contoh Implementasi
Pada contoh di bawah ini, kita akan membuat file mxnet modul.
import mxnet as mx
input_data = mx.symbol.Variable('input_data')
f_connected1 = mx.symbol.FullyConnected(data, name='f_connected1', num_hidden=128)
activation_1 = mx.symbol.Activation(f_connected1, name='relu1', act_type="relu")
f_connected2 = mx.symbol.FullyConnected(activation_1, name = 'f_connected2', num_hidden = 64)
activation_2 = mx.symbol.Activation(f_connected2, name='relu2',
act_type="relu")
f_connected3 = mx.symbol.FullyConnected(activation_2, name='fc3', num_hidden=10)
out = mx.symbol.SoftmaxOutput(f_connected3, name = 'softmax')
mod = mx.mod.Module(out)
print(out)
Output
Outputnya disebutkan di bawah ini -
<Symbol softmax>
Example
print(mod)
Output
Outputnya ditunjukkan di bawah ini -
<mxnet.module.module.Module object at 0x00000123A9892F28>
Dalam contoh di bawah ini, kami akan menerapkan komputasi maju
import mxnet as mx
from collections import namedtuple
Batch = namedtuple('Batch', ['data'])
data = mx.sym.Variable('data')
out = data * 2
mod = mx.mod.Module(symbol=out, label_names=None)
mod.bind(data_shapes=[('data', (1, 10))])
mod.init_params()
data1 = [mx.nd.ones((1, 10))]
mod.forward(Batch(data1))
print (mod.get_outputs()[0].asnumpy())
Output
Ketika Anda menjalankan kode di atas, Anda akan melihat output berikut -
[[2. 2. 2. 2. 2. 2. 2. 2. 2. 2.]]
Example
data2 = [mx.nd.ones((3, 5))]
mod.forward(Batch(data2))
print (mod.get_outputs()[0].asnumpy())
Output
Diberikan di bawah ini adalah output dari kode -
[[2. 2. 2. 2. 2.]
[2. 2. 2. 2. 2.]
[2. 2. 2. 2. 2.]]