Evolvable programming language -- evo
用标准卷积层(std conv)贡献计算量:
ProtoBuffer | FlatBuffer | |
---|---|---|
Lang | C/C++, C#, Go, Java, Python, Ruby, Objective-C, Dart | C/C++, C#, Java, Lua, Python, Rust … |
Version | 2.x / 3.x | 1.x |
File | .proto |
.fbs |
Type | More | Base |
Model | .onnx |
.tflite |
Load | Normal | Fast |
Size | Normal | Small |
ProtoBuf
进行序列化的二进制模型文件格式,十分通用,主流框架(如:Pytorch, TensorFlow)对该格式导出都有相关支持:netron
插件可以可视化模型文件,从而观察算子和张量形状:FlatBuffer
进行序列化,较为轻量级,适用于移动端设备..etm
是 EVO 小型模型的格式,参考etm.fbs
.etm
与 .c
转换.etm
模型转换为 C 源文件(unsigned char
类型):xxd -i model.etm > model_data.c
.c
源文件转换为.etm
模型文件:grep -E "(0x[0-9a-f]{2}(,|)){1,16}" model_data.c | xxd -r -p > model.etm
git clone https://github.com/dvidelabs/flatcc.git
cd flatcc
mkdir build
cd build
cmake ..
make