12 个版本 (7 个重大更新)
0.8.0 | 2022 年 4 月 3 日 |
---|---|
0.7.0 | 2021 年 11 月 14 日 |
0.6.0 | 2021 年 6 月 26 日 |
0.4.0 | 2021 年 3 月 26 日 |
0.1.2 | 2020 年 7 月 21 日 |
#1503 在 编码
每月 29 次下载
20KB
421 代码行
tch-serde: 使用 serde 序列化和反序列化 tch-rs 类型
这个 crate 为 tch-rs 常见类型提供了 {ser,de} ialization 方法。
使用方法
例如,为 tensor 字段启用序列化,添加以下注解:#[serde(with = "tch_serde::serde_tensor")]
use tch::{Device, Kind, Tensor};
#[derive(Debug, serde::Serialize, serde::Deserialize)]
struct Example {
#[serde(with = "tch_serde::serde_tensor")]
tensor: Tensor,
#[serde(with = "tch_serde::serde_kind")]
kind: Kind,
#[serde(with = "tch_serde::serde_device")]
device: Device,
#[serde(with = "tch_serde::serde_reduction")]
reduction: Reduction,
}
fn main() {
let example = Example {
tensor: Tensor::randn(&[2, 3], (Kind::Float, Device::Cuda(0))),
kind: Kind::Float,
device: Device::Cpu,
reduction: Reduction::Mean,
};
let text = serde_json::to_string_pretty(&example).unwrap();
println!("{}", text);
}
许可证
MIT 许可证。请参阅 LICENSE 文件。
依赖关系
~7–10MB
~210K SLoC