// main_allocator := context.allocator;
// context.allocator = alloc.log.logging_allocator(^main_allocator);
- nn := neural_net_load("data/dummy.nn");
+ nn := neural_net_load("data/test_1.nn");
// nn := make_neural_net(28 * 28, 512, 256, 100, 10);
defer neural_net_free(^nn);
writer := io.binary_writer_make(^output_file);
// Magic string
- io.binary_write_i32(^writer, Onyx_NN_Magic_Number);
+ io.binary_write(^writer, i32, Onyx_NN_Magic_Number);
// Number of layers
- io.binary_write_i32(^writer, layers.count);
+ io.binary_write(^writer, i32, layers.count);
for ^layer: layers {
- io.binary_write_i32(^writer, layer.neurons.count);
+ io.binary_write(^writer, i32, layer.neurons.count);
io.binary_write_byte(^writer, cast(u8) layer.is_input);
if layer.is_input do continue;
reader := io.binary_reader_make(^input_file);
- magic_number := io.binary_read_i32(^reader);
+ magic_number := io.binary_read(^reader, i32);
assert(magic_number == Onyx_NN_Magic_Number, "Magic number did not match!");
- num_layers := io.binary_read_i32(^reader);
+ num_layers := io.binary_read(^reader, i32);
nn : NeuralNet;
neural_net_init(^nn, num_layers);
prev_layer_size := 0;
for l: num_layers {
- layer_size := io.binary_read_i32(^reader);
+ layer_size := io.binary_read(^reader, i32);
is_input := cast(bool) io.binary_read_byte(^reader);
layer_init(^nn.layers[l], layer_size, prev_layer_size, allocator = layer_allocator, allocate_weights_and_biases = false);