tensorflow :: ops :: FixedUnigramCandidateSampler
#include <candidate_sampling_ops.h>
Menghasilkan label untuk pengambilan sampel kandidat dengan distribusi unigram yang dipelajari.
Ringkasan
Sampler unigram dapat menggunakan distribusi unigram tetap yang dibaca dari file atau diteruskan sebagai larik dalam memori alih-alih membangun distribusi dari data dengan cepat. Ada juga opsi untuk memiringkan distribusi dengan menerapkan kekuatan distorsi pada bobot.
File kosakata harus dalam format seperti CSV, dengan kolom terakhir adalah bobot yang terkait dengan kata tersebut.
Untuk setiap batch, operasi ini mengambil satu set label kandidat sampel.
Keuntungan dari kandidat pengambilan sampel per batch adalah kesederhanaan dan kemungkinan perkalian matriks rapat yang efisien. Kerugiannya adalah bahwa calon sampel harus dipilih secara independen dari konteks dan label yang sebenarnya.
Argumen:
- scope: Objek Scope
- true_classes: Sebuah matriks batch_size * num_true, di mana setiap baris berisi ID dari num_true target_classes di label asli yang sesuai.
- num_true: Jumlah label sebenarnya per konteks.
- num_sampled: Jumlah kandidat untuk diambil sampelnya secara acak.
- unique: Jika unique is true, kami mengambil sampel dengan penolakan, sehingga semua sampel kandidat dalam satu batch adalah unik. Ini membutuhkan beberapa perkiraan untuk memperkirakan probabilitas pengambilan sampel pasca-penolakan.
- range_max: Sampler akan mengambil sampel bilangan bulat dari interval [0, range_max).
Atribut opsional (lihat Attrs
):
- vocab_file: Setiap baris valid dalam file ini (yang harus memiliki format seperti CSV) sesuai dengan ID kata yang valid. ID disusun secara berurutan, mulai dari num_reserved_ids. Entri terakhir di setiap baris diharapkan menjadi nilai yang sesuai dengan hitungan atau probabilitas relatif. Salah satu vocab_file dan unigram harus diteruskan ke operasi ini.
- distorsi: Distorsi digunakan untuk memiringkan distribusi probabilitas unigram. Setiap bobot terlebih dahulu dinaikkan ke kekuatan distorsi sebelum ditambahkan ke distribusi unigram internal. Akibatnya, distorsi = 1.0 memberikan sampling unigram reguler (seperti yang didefinisikan oleh file vocab), dan distorsi = 0.0 memberikan distribusi yang seragam.
- num_reserved_ids: Secara opsional, beberapa ID yang dipesan dapat ditambahkan dalam rentang [0, ..., num_reserved_ids) oleh pengguna. Salah satu kasus penggunaan adalah bahwa token kata khusus yang tidak dikenal digunakan sebagai ID 0. ID ini akan memiliki probabilitas pengambilan sampel 0.
- num_shards: Sampler dapat digunakan untuk mengambil sampel dari subset rentang asli untuk mempercepat seluruh komputasi melalui paralelisme. Parameter ini (bersama dengan 'shard') menunjukkan jumlah partisi yang digunakan dalam komputasi keseluruhan.
- shard: Sampler dapat digunakan untuk mengambil sampel dari subset rentang asli untuk mempercepat seluruh komputasi melalui paralelisme. Parameter ini (bersama dengan 'num_shards') menunjukkan nomor partisi tertentu dari operasi sampler, ketika partisi sedang digunakan.
- unigrams: Daftar jumlah atau probabilitas unigram, satu per ID secara berurutan. Salah satu vocab_file dan unigram harus diteruskan ke operasi ini.
- benih: Jika salah satu benih atau benih2 ditetapkan menjadi bukan nol, generator nomor acak disemai oleh benih yang diberikan. Jika tidak, itu diunggulkan dengan benih acak.
- seed2: Benih kedua untuk menghindari tumbukan benih.
Pengembalian:
-
Output
sampled_candidates: Vektor dengan panjang num_sampled, di mana setiap elemen adalah ID dari kandidat yang disampel. -
Output
true_expected_count: Matriks batch_size * num_true, yang menunjukkan berapa kali setiap kandidat diharapkan muncul dalam sekumpulan kandidat sampel. Jika unique = true, maka ini adalah probabilitas. -
Output
sampled_expected_count: Vektor dengan panjang num_sampled, untuk setiap kandidat sampel yang mewakili berapa kali kandidat diharapkan muncul dalam sekumpulan kandidat sampel. Jika unique = true, maka ini adalah probabilitas.
Pembangun dan Penghancur | |
---|---|
FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max) | |
FixedUnigramCandidateSampler (const :: tensorflow::Scope & scope, :: tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max, const FixedUnigramCandidateSampler::Attrs & attrs) |
Atribut publik | |
---|---|
operation | |
sampled_candidates | |
sampled_expected_count | |
true_expected_count |
Fungsi statis publik | |
---|---|
Distortion (float x) | |
NumReservedIds (int64 x) | |
NumShards (int64 x) | |
Seed (int64 x) | |
Seed2 (int64 x) | |
Shard (int64 x) | |
Unigrams (const gtl::ArraySlice< float > & x) | |
VocabFile (StringPiece x) |
Structs | |
---|---|
tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs | Penyetel atribut opsional untuk FixedUnigramCandidateSampler . |
Atribut publik
operasi
Operation operation
sampled_candidates
::tensorflow::Output sampled_candidates
sampled_expected_count
::tensorflow::Output sampled_expected_count
true_expected_count
::tensorflow::Output true_expected_count
Fungsi publik
FixedUnigramCandidateSampler
FixedUnigramCandidateSampler( const ::tensorflow::Scope & scope, ::tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max )
FixedUnigramCandidateSampler
FixedUnigramCandidateSampler( const ::tensorflow::Scope & scope, ::tensorflow::Input true_classes, int64 num_true, int64 num_sampled, bool unique, int64 range_max, const FixedUnigramCandidateSampler::Attrs & attrs )
Fungsi statis publik
Distorsi
Attrs Distortion( float x )
NumReservedIds
Attrs NumReservedIds( int64 x )
NumShards
Attrs NumShards( int64 x )
Benih
Attrs Seed( int64 x ).dll
Benih2
Attrs Seed2( int64 x )
Beling
Attrs Shard( int64 x )
Unigrams
Attrs Unigrams( const gtl::ArraySlice< float > & x )
VocabFile
Attrs VocabFile( StringPiece x )