dòng chảy :: hoạt động :: FixedUnigramCandidateSampler
#include <candidate_sampling_ops.h>
Tạo nhãn để lấy mẫu ứng viên với phân phối unigram đã học.
Tóm lược
Một trình lấy mẫu unigram có thể sử dụng một phân phối unigram cố định được đọc từ một tệp hoặc được chuyển vào dưới dạng một mảng trong bộ nhớ thay vì xây dựng phân phối từ dữ liệu một cách nhanh chóng. Ngoài ra còn có một tùy chọn để làm lệch phân phối bằng cách áp dụng công suất biến dạng cho các trọng lượng.
Tệp từ vựng phải ở định dạng giống CSV, với trường cuối cùng là trọng số được liên kết với từ.
Đối với mỗi lô, tùy chọn này chọn một tập hợp các nhãn ứng viên được lấy mẫu.
Ưu điểm của việc lấy mẫu các ứng viên theo lô là tính đơn giản và khả năng nhân ma trận dày đặc hiệu quả. Điểm bất lợi là các ứng cử viên được lấy mẫu phải được chọn độc lập với bối cảnh và nhãn thực.
Tranh luận:
- phạm vi: Một đối tượng Phạm vi
- true_classes: Một ma trận batch_size * num_true, trong đó mỗi hàng chứa ID của các lớp target_true trong nhãn gốc tương ứng.
- num_true: Số lượng nhãn đúng trên mỗi ngữ cảnh.
- num_sampled: Số lượng ứng viên để lấy mẫu ngẫu nhiên.
- duy nhất: Nếu duy nhất là đúng, chúng tôi lấy mẫu bằng loại từ chối, để tất cả các ứng viên được lấy mẫu trong một lô là duy nhất. Điều này đòi hỏi một số ước lượng gần đúng để ước tính xác suất lấy mẫu sau loại bỏ.
- range_max: Bộ lấy mẫu sẽ lấy mẫu các số nguyên từ khoảng [0, range_max).
Các thuộc tính tùy chọn (xem Phần Attrs
):
- vocab_file: Mỗi dòng hợp lệ trong tệp này (phải có định dạng giống CSV) tương ứng với một ID từ hợp lệ. Các ID theo thứ tự tuần tự, bắt đầu từ num_reserved_ids. Mục nhập cuối cùng trong mỗi dòng được mong đợi là một giá trị tương ứng với số đếm hoặc xác suất tương đối. Chính xác một trong các vocab_file và unigram cần được chuyển tới op này.
- độ méo: Độ méo được sử dụng để làm lệch phân phối xác suất unigram. Trước tiên, mỗi trọng lượng được nâng lên đến sức mạnh của độ méo trước khi thêm vào phân phối unigram bên trong. Kết quả là, độ méo = 1,0 cho phép lấy mẫu unigram thường xuyên (như được định nghĩa bởi tệp vocab) và độ méo = 0,0 cho phép phân phối đồng đều.
- num_reserved_ids: Người dùng có thể tùy chọn thêm một số ID dành riêng trong phạm vi [0, ..., num_reserved_ids). Một trường hợp sử dụng là mã thông báo từ không xác định đặc biệt được sử dụng làm ID 0. Những ID này sẽ có xác suất lấy mẫu là 0.
- num_shards: Một bộ lấy mẫu có thể được sử dụng để lấy mẫu từ một tập con của phạm vi ban đầu nhằm tăng tốc độ toàn bộ tính toán thông qua song song. Tham số này (cùng với 'shard') cho biết số lượng phân vùng đang được sử dụng trong tính toán tổng thể.
- shard: Một bộ lấy mẫu có thể được sử dụng để lấy mẫu từ một tập hợp con của phạm vi ban đầu nhằm tăng tốc độ toàn bộ tính toán thông qua song song. Tham số này (cùng với 'num_shards') cho biết số phân vùng cụ thể của op trình lấy mẫu, khi phân vùng đang được sử dụng.
- unigram: Một danh sách các số lượng hoặc xác suất unigram, một số cho mỗi ID theo thứ tự tuần tự. Chính xác một trong các vocab_file và unigram phải được chuyển đến op này.
- hạt giống: Nếu hạt giống hoặc hạt giống2 được đặt là khác 0, trình tạo số ngẫu nhiên được gieo hạt giống đã cho. Nếu không, nó được gieo bởi một hạt ngẫu nhiên.
- seed2: Hạt giống thứ hai để tránh hạt bị va chạm.
Lợi nhuận:
-
Output
sa Sample_candidates: Một vectơ có độ dài num_sampled, trong đó mỗi phần tử là ID của một ứng cử viên được lấy mẫu. -
Output
true_eosystem_count: Một ma trận batch_size * num_true, đại diện cho số lần mỗi ứng viên được mong đợi xuất hiện trong một loạt ứng viên được lấy mẫu. Nếu duy nhất = true, thì đây là một xác suất. -
Output
lấy mẫu: Một vectơ có độ dài num_sampled, cho mỗi ứng viên được lấy mẫu đại diện cho số lần ứng viên dự kiến xuất hiện trong một loạt ứng viên được lấy mẫu. Nếu duy nhất = true, thì đây là một xác suất.
Người xây dựng và Người phá hủy | |
---|---|
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) |
Thuộc tính công khai | |
---|---|
operation | |
sampled_candidates | |
sampled_expected_count | |
true_expected_count |
Các chức năng tĩnh công khai | |
---|---|
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) |
Cấu trúc | |
---|---|
tensorflow :: ops :: FixedUnigramCandidateSampler :: Attrs | Bộ thiết lập thuộc tính tùy chọn cho FixedUnigramCandidateSampler . |
Thuộc tính công khai
hoạt động
Operation operation
sa Sample_candidates
::tensorflow::Output sampled_candidates
đã lấy mẫu
::tensorflow::Output sampled_expected_count
true_emplete_count
::tensorflow::Output true_expected_count
Chức năng công cộng
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 )
Các chức năng tĩnh công khai
Méo mó
Attrs Distortion( float x )
NumReservedIds
Attrs NumReservedIds( int64 x )
NumShards
Attrs NumShards( int64 x )
Hạt giống
Attrs Seed( int64 x )
Seed2
Attrs Seed2( int64 x )
Mảnh vỡ
Attrs Shard( int64 x )
Unigram
Attrs Unigrams( const gtl::ArraySlice< float > & x )
VocabFile
Attrs VocabFile( StringPiece x )