Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.keras.optimizers.Ftrl

TensorFlow 1 versi Lihat sumber di GitHub

Optimizer yang mengimplementasikan algoritma FTRL.

Mewarisi Dari: Optimizer

Lihat Algoritma 1 ini kertas . Versi ini memiliki dukungan untuk baik online L2 (hukuman L2 diberikan di atas kertas) dan penyusutan-jenis L2 (yang merupakan penambahan penalti L2 untuk fungsi kerugian).

learning_rate Sebuah Tensor , nilai floating point, atau jadwal yang adalah tf.keras.optimizers.schedules.LearningRateSchedule . Tingkat pembelajaran.
learning_rate_power Sebuah nilai float, harus kurang atau sama dengan nol. Kontrol bagaimana tingkat belajar menurun selama pelatihan. Gunakan nol untuk tingkat belajar tetap.
initial_accumulator_value The mulai nilai untuk akumulator. Hanya nol atau nilai-nilai positif yang diperbolehkan.
l1_regularization_strength Sebuah nilai float, harus lebih besar dari atau sama dengan nol.
l2_regularization_strength Sebuah nilai float, harus lebih besar dari atau sama dengan nol.
name Opsional nama awalan untuk operasi dibuat ketika menerapkan gradien. Defaultnya "Ftrl" .
l2_shrinkage_regularization_strength Sebuah nilai float, harus lebih besar dari atau sama dengan nol. Ini berbeda dari L2 atas dalam bahwa L2 atas adalah hukuman stabilisasi, sedangkan penyusutan L2 ini adalah hukuman besarnya. Ketika input susut jarang hanya akan terjadi pada bobot aktif.
**kwargs argumen kata kunci. Diizinkan untuk menjadi salah satu dari "clipnorm" atau "clipvalue" . "clipnorm" (float) klip gradien oleh norma; "clipvalue" (float) klip gradien berdasarkan nilai.

Referensi:

name Sebuah string yang tidak kosong. Nama digunakan untuk akumulator diciptakan untuk optimizer.
**kwargs argumen kata kunci. Boleh { clipnorm , clipvalue , lr , decay }. clipnorm adalah klip gradien dengan norma; clipvalue adalah klip gradien dengan nilai, decay termasuk untuk kompatibilitas untuk memungkinkan waktu peluruhan kebalikan dari tingkat belajar. lr disertakan untuk kompatibilitas, dianjurkan untuk menggunakan learning_rate sebagai gantinya.

ValueError Jika namanya kelainan bentuk.

iterations Variabel. Jumlah pelatihan langkah Optimizer ini telah berjalan.
weights Pengembalian variabel Optimizer ini berdasarkan urutan dibuat.

metode

add_slot

Lihat sumber

Menambahkan variabel slot yang baru untuk var .

add_weight

Lihat sumber

apply_gradients

Lihat sumber

Terapkan gradien untuk variabel.

Ini adalah bagian kedua dari minimize() . Ini mengembalikan sebuah Operation yang berlaku gradien.

Metode ini merangkum gradien dari semua replika di hadapan tf.distribute.Strategy secara default. Anda dapat agregat gradien diri dengan melewati experimental_aggregate_gradients=False .

Contoh:

 grads = tape.gradient(loss, vars)
grads = tf.distribute.get_replica_context().all_reduce('sum', grads)
# Processing aggregated gradients.
optimizer.apply_gradients(zip(grads, vars),
    experimental_aggregate_gradients=False)

 

args
grads_and_vars Daftar (gradien, variabel) pasang.
name nama opsional untuk operasi kembali. Default ke nama diteruskan ke Optimizer konstruktor.
experimental_aggregate_gradients Apakah untuk jumlah gradien dari replika yang berbeda dalam Keberadaan ini tf.distribute.Strategy . Jika False, tanggung jawab pengguna itu untuk agregat gradien. Default Benar.

Pengembalian
Sebuah Operation yang menerapkan gradien tertentu. The iterations akan secara otomatis meningkat sebesar 1.

kenaikan gaji
TypeError Jika grads_and_vars adalah kelainan bentuk.
ValueError Jika tidak ada variabel memiliki gradien.

from_config

Lihat sumber

Menciptakan optimizer dari konfigurasi nya.

Metode ini adalah kebalikan dari get_config , mampu instantiating optimizer yang sama dari config kamus.

argumen
config Sebuah Python kamus, biasanya output dari get_config.
custom_objects Sebuah Python pemetaan nama kamus untuk tambahan Python benda yang digunakan untuk membuat optimizer ini, seperti fungsi yang digunakan untuk hyperparameter a.

Pengembalian
Sebuah optimizer misalnya.

get_config

Lihat sumber

Mengembalikan konfigurasi dari optimizer.

Sebuah config optimizer adalah kamus Python (serializable) yang berisi konfigurasi dari optimizer. Optimizer yang sama dapat reinstantiated kemudian (tanpa negara disimpan) dari konfigurasi ini.

Pengembalian
Python kamus.

get_gradients

Lihat sumber

Pengembalian gradien dari loss sehubungan dengan params .

argumen
loss tensor kerugian.
params Daftar variabel.

Pengembalian
Daftar tensor gradien.

kenaikan gaji
ValueError Dalam hal gradien apapun tidak dapat dihitung (misalnya jika fungsi gradien tidak dilaksanakan).

get_slot

Lihat sumber

get_slot_names

Lihat sumber

Daftar nama untuk slot ini optimizer ini.

get_updates

Lihat sumber

get_weights

Lihat sumber

Mengembalikan berat saat optimizer.

Bobot dari optimizer adalah negara (yaitu, variabel). Fungsi ini mengembalikan nilai-nilai berat badan yang berhubungan dengan optimizer ini sebagai daftar array Numpy. Nilai pertama selalu iterasi menghitung dari optimizer, diikuti oleh variabel negara optimizer dalam urutan mereka diciptakan. daftar kembali pada gilirannya dapat digunakan untuk keadaan beban ke pengoptimalan sama diparameterisasi.

Sebagai contoh, optimizer RMSprop untuk model sederhana ini mengembalikan daftar tiga values-- jumlah iterasi, diikuti oleh nilai akar-mean-square dari kernel dan bias dari lapisan padat tunggal:

opt = tf.keras.optimizers.RMSprop()
m = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])
m.compile(opt, loss='mse')
data = np.arange(100).reshape(5, 20)
labels = np.zeros(5)
print('Training'); results = m.fit(data, labels)
Training ...
len(opt.get_weights())
3

Pengembalian
nilai-nilai bobot sebagai daftar array numpy.

minimize

Lihat sumber

Meminimalkan loss oleh memperbarui var_list .

Metode ini hanya menghitung gradien menggunakan tf.GradientTape dan panggilan apply_gradients() . Jika Anda ingin memproses gradien sebelum menerapkan kemudian memanggil tf.GradientTape dan apply_gradients() secara eksplisit daripada menggunakan fungsi ini.