3 个版本 (破坏性更新)

0.3.0 2022年10月1日
0.2.0 2022年1月16日
0.1.0 2022年1月13日

#710编程语言

MIT/Apache

105KB
2.5K SLoC

拥抱其运行硬件的人工智能。

与依赖巨大矩阵乘法和非线性激活函数的人工智能代理不同,AIVM 使用具有可训练代码的虚拟机来直接驱动其决策。代码可以编译成本地机器代码,从典型人工智能代理中移除了一个昂贵的抽象层。

快速入门

use aivm::{codegen, Compiler, Runner};

const LOWEST_FUNCTION_LEVEL: u32 = 1;
const MEMORY_SIZE: u32 = 4;
const INPUT_SIZE: u32 = 4;
const OUTPUT_SIZE: u32 = 4;

let gen = codegen::Interpreter::new();
let mut compiler = Compiler::new(gen);

// TODO: train code and memory to make it do something useful.
let code = [0; 16];
let mut runner = compiler.compile(
    &code,
    LOWEST_FUNCTION_LEVEL,
    MEMORY_SIZE,
    INPUT_SIZE,
    OUTPUT_SIZE,
);
let mut memory = [0; (MEMORY_SIZE + INPUT_SIZE + OUTPUT_SIZE) as usize];

runner.step(&mut memory);

依赖项

~0–1.6MB
~33K SLoC