e2k/lib.rs
1//! # e2k-rs
2//!
3//! [Patchethium氏のe2k](https://github.com/Patchethium/e2k)をRustに移植したものです。
4//!
5//! ## 使い方
6//!
7//! ```rust
8//! // 文字列をカタカナに変換する例
9//! let src = "constants";
10//! let c2k = e2k::C2k::new(32);
11//! let dst = c2k.infer(src);
12//!
13//! dbg!(dst); // "コンスタンツ"
14//! ```
15//!
16//! ```rust
17//! // CMUDictの発音記号をカタカナに変換する例
18//! let pronunciation = ["K", "AA1", "N", "S", "T", "AH0", "N", "T", "S"];
19//! let p2k = e2k::P2k::new(32);
20//! let dst = p2k.infer(&pronunciation);
21//! dbg!(dst); // "コンスタンツ"
22//! ```
23//!
24//! ## Features
25//! ### `embed_model`
26//! モデルを埋め込みます。
27//! このfeatureはデフォルトで有効です。
28//! このfeatureを無効にした場合は、モデルを手動で指定する必要があります。
29//!
30//! ### `compress_model`
31//! brotliを使用してモデルを圧縮します。
32//! このfeatureはデフォルトで有効です。
33//!
34//! ### `getrandom_on_wasm32_unknown`
35//! wasm32-unknown-unknownでのTopK/TopPサンプリングに`getrandom`を使用します。
36//! このfeatureを有効にしてコンパイルするには[getrandomのドキュメント](https://docs.rs/getrandom/latest/getrandom/#webassembly-support)を参照してください。
37//! オフの場合、Hashと適当な値を使用してサンプリングします。
38//!
39
40mod constants;
41mod inference;
42mod layers;
43
44pub use inference::*;