From: Brendan Hansen Date: Sat, 23 Jan 2021 16:33:10 +0000 (-0600) Subject: using new binary reader implementation X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=a28adee100e5bfab41db3f473417ec9cb59f9962;p=onyx-mnist.git using new binary reader implementation --- diff --git a/src/mnist.onyx b/src/mnist.onyx index 8e7d6a1..be8522d 100644 --- a/src/mnist.onyx +++ b/src/mnist.onyx @@ -100,7 +100,7 @@ main :: (args: [] cstr) { // 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); diff --git a/src/neuralnet.onyx b/src/neuralnet.onyx index 89dd30b..c427793 100644 --- a/src/neuralnet.onyx +++ b/src/neuralnet.onyx @@ -201,13 +201,13 @@ neural_net_save :: (use nn: ^NeuralNet, filename: str) { 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; @@ -232,10 +232,10 @@ neural_net_load :: (filename: str) -> NeuralNet { 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); @@ -244,7 +244,7 @@ neural_net_load :: (filename: str) -> NeuralNet { 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);