use std::io::*;
use std::time::{SystemTime, UNIX_EPOCH};
pub const INPUT_COUNT: usize = 24;
pub const OUTPUT_COUNT: usize = 12;
pub const LEARNING_RATE: f64 = 0.012;
pub fn activation_function(x: f64) -> f64 {
//1. / (1. + std::f64::consts::E.powf(-x))
//x.tanh()
x.max(0.)
}
pub fn inv_activation_function(x: f64) -> f64 {
//f64::ln(x / (1. - x)) //.max(-10000.).min(10000.)
//x.atanh()
x.max(0.)
}
#[allow(dead_code)]
pub fn pseudo_rand() -> f64 {
let start = SystemTime::now();
let since_the_epoch = start
.duration_since(UNIX_EPOCH)
.expect("Time went backwards");
#[allow(arithmetic_overflow)]
const MAX: u128 = 1000000;
// Randomish enough
let res = ((since_the_epoch.as_nanos() * 23525623626 >> 2) % MAX) as f64 / MAX as f64;
res % 1.
}
#[derive(Debug, Clone)]
pub struct DataPoint<const S: usize>(pub [f64; S]);
impl<const S: usize> DataPoint<S> {
const MIN_VALUE: f64 = -38.;
const MAX_VALUE: f64 = 38.;
pub fn new(values: &[f64]) -> Self {
let mut data_point = Self([0.; S]);
data_point.0.clone_from_slice(values);
let range = Self::MAX_VALUE - Self::MIN_VALUE;
for i in 0..S {
data_point.0[i] = (data_point.0[i] - Self::MIN_VALUE) / range
}
data_point
}
pub fn get(&self, i: usize) -> f64 {
let range = Self::MAX_VALUE - Self::MIN_VALUE;
self.0[i] * range + Self::MIN_VALUE
}
}
// Layer of neural network with input and output count
#[derive(Debug, Clone, Copy)]
pub struct Layer<const I: usize, const O: usize> {
pub weights: [[f64; I]; O],
pub biases: [f64; O],
}
impl<const I: usize, const O: usize> Layer<I, O> {
pub fn new() -> Self {
Self {
weights: [[0.; I]; O],
biases: [0.; O],
}
}
pub fn random() -> Self {
let mut layer = Self::new();
for i in 0..O {
for j in 0..I {
layer.weights[i][j] = (pseudo_rand() * 2. - 1.) / 100.;
}
layer.biases[i] = (pseudo_rand() * 2. - 1.) / 100.;
}
layer
}
pub fn propagate(&self, activation: &[f64; I]) -> [f64; O] {
let mut result = [0.; O];
for i in 0..O {
let mut value = 0.;
for j in 0..I {
value += activation[j] * self.weights[i][j];
}
result[i] = activation_function(value + self.biases[i]);
}
result
}
pub fn back_propagate(
&self,
changes: &mut Self,
activation: &[f64; I],
actual_outcome: &[f64; O],
desired_outcome: &[f64; O],
) -> [f64; I] {
let mut desired_activation = activation.clone();
let mut z = [0.; O];
for i in 0..O {
z[i] = self.biases[i];
for j in 0..I {
z[i] += activation[j] * self.weights[i][j];
}
}
for i in 0..O {
let dca = 2. * (actual_outcome[i] - desired_outcome[i]);
let dzb = 1.;
for j in 0..I {
let daz = inv_activation_function(z[i]);
let dzw = activation[j];
let dza = self.weights[i][j];
let dcw = dca * dzw * daz;
let dcb = dzb * daz * dca;
let dca2 = dza * daz * dca;
changes.weights[i][j] -= dcw;
changes.biases[i] -= dcb / I as f64;
desired_activation[j] -= dca2
}
}
desired_activation
}
pub fn apply_changes(&mut self, changes: Layer<I, O>, rate: f64) {
for i in 0..O {
for j in 0..I {
self.weights[i][j] += changes.weights[i][j] * rate
}
self.biases[i] += changes.biases[i] * rate;
}
}
}
#[derive(Debug, Clone)]
pub struct NeuralNetwork<const I: usize, const O: usize, const H: usize, const L: usize> {
pub input_layer: Layer<I, H>,
pub hidden_layers: [Layer<H, H>; L],
pub output_layer: Layer<H, O>,
}
impl<const I: usize, const O: usize, const H: usize, const L: usize> NeuralNetwork<I, O, H, L> {
#[allow(dead_code)]
pub fn new() -> Self {
Self {
input_layer: Layer::new(),
hidden_layers: [Layer::new(); L],
output_layer: Layer::new(),
}
}
#[allow(dead_code)]
pub fn random() -> Self {
Self {
input_layer: Layer::random(),
hidden_layers: [Layer::random(); L],
output_layer: Layer::random(),
}
}
pub fn predict(&self, start_activation: &DataPoint<I>) -> DataPoint<O> {
let mut activation = self.input_layer.propagate(&start_activation.0);
for hidden_layer in self.hidden_layers {
activation = hidden_layer.propagate(&activation);
}
DataPoint(self.output_layer.propagate(&activation))
}
pub fn train(
&self,
changes: &mut Self,
start_activation: &DataPoint<I>,
desired_outcome: &DataPoint<O>,
batch_size: usize,
) -> f64 {
let mut activations = [[0.; H]; L];
for i in 0..L {
let activation = if i == 0 {
self.input_layer.propagate(&start_activation.0)
} else {
activations[i - 1]
};
activations[i] = self.hidden_layers[i].propagate(&activation);
}
let last_activation = if L > 0 {
activations[L - 1]
} else {
self.input_layer.propagate(&start_activation.0)
};
let actual_outcome = self.output_layer.propagate(&last_activation);
let desired_output_activation = self.output_layer.back_propagate(
&mut changes.output_layer,
&last_activation,
&actual_outcome,
&desired_outcome.0,
);
let mut desired_activations = [[0.; H]];
for i in (0..L).rev() {
let prev_desired_activation = if i == L - 1 {
desired_output_activation
} else {
desired_activations[i]
};
let activation = if i == 0 {
self.input_layer.propagate(&start_activation.0)
} else {
activations[i]
};
let desired_activation = self.hidden_layers[i].back_propagate(
&mut changes.hidden_layers[i],
&activation,
&activations[i],
&prev_desired_activation,
);
desired_activations[i] = desired_activation;
}
let _ = self.input_layer.back_propagate(
&mut changes.input_layer,
&start_activation.0,
if L > 0 {
&activations[0]
} else {
&last_activation
},
&(if L > 0 {
desired_activations[0]
} else {
desired_output_activation
}),
);
//println!("outcome: {:#?}", actual_outcome);
//println!("Desired outcome: {:#?}", desired_outcome);
let mut loss = 0.;
for i in 0..O {
let l = (actual_outcome[i] - desired_outcome.0[i]).powi(2);
//println!("i: {} loss {}", i, l);
loss += l;
}
loss / batch_size as f64
}
pub fn apply_changes(&mut self, changes: &Self, batch_size: usize) {
self.input_layer
.apply_changes(changes.input_layer, LEARNING_RATE / batch_size as f64);
for i in 0..L {
self.hidden_layers[i]
.apply_changes(changes.hidden_layers[i], LEARNING_RATE / batch_size as f64)
}
self.output_layer
.apply_changes(changes.output_layer, LEARNING_RATE / batch_size as f64);
}
}
pub fn read_training_data() -> (Vec<DataPoint<INPUT_COUNT>>, Vec<DataPoint<OUTPUT_COUNT>>) {
let mut input = String::new();
stdin()
.read_line(&mut input)
.expect("Unexpected end of input");
let days: i32 = input.trim().parse().unwrap();
let mut input_data = Vec::new();
let mut output_data = Vec::new();
for _ in 0..days {
let mut input = String::new();
stdin()
.read_line(&mut input)
.expect("Unexpected end of input");
let arr = input
.split(" ")
.map(|s| s.trim().parse().unwrap())
.collect::<Vec<f64>>();
input_data.push(DataPoint::new(&arr[..INPUT_COUNT]));
output_data.push(DataPoint::new(&arr[INPUT_COUNT..]));
}
(input_data, output_data)
}
#[allow(dead_code)]
pub fn read_input_data() -> Vec<DataPoint<INPUT_COUNT>> {
let mut input = String::new();
stdin()
.read_line(&mut input)
.expect("Unexpected end of input");
let days: i32 = input.trim().parse().unwrap();
let mut data = Vec::new();
for _ in 0..days {
let mut input = String::new();
stdin()
.read_line(&mut input)
.expect("Unexpected end of input");
let arr = input
.split(" ")
.map(|s| s.trim().parse().unwrap())
.collect::<Vec<f64>>();
data.push(DataPoint::new(&arr[..INPUT_COUNT]));
}
data
}
#[allow(dead_code)]
pub fn main() {
#[cfg(feature = "evaluate")]
let (data, output_data) = read_training_data();
#[cfg(not(feature = "evaluate"))]
let data = read_input_data();
let neural_net = get_neural_network();
let question_mark_net = get_question_mark_network();
#[cfg(feature = "evaluate")]
let mut correct: i32 = 0;
#[cfg(feature = "evaluate")]
let mut incorrect: i32 = 0;
#[cfg(feature = "evaluate")]
let mut correct_distribution = [0; OUTPUT_COUNT];
#[cfg(feature = "evaluate")]
let mut error_distribution = [0; OUTPUT_COUNT];
#[cfg(feature = "evaluate")]
let mut correct_diff = 0.;
#[cfg(feature = "evaluate")]
let mut incorrect_diff = 0.;
#[cfg(feature = "evaluate")]
let mut question_marks = 0;
#[cfg(feature = "evaluate")]
let mut correct_q_marks = 0;
#[cfg(feature = "evaluate")]
let mut incorrect_q_marks = 0;
for i in 0..data.len() {
let result = neural_net.predict(&data[i]);
let mut input_buffer = [0.; 36];
input_buffer[..INPUT_COUNT].clone_from_slice(&data[i].0);
input_buffer[INPUT_COUNT..].clone_from_slice(&result.0);
let question_mark_res = question_mark_net.predict(&DataPoint(input_buffer));
for j in 0..OUTPUT_COUNT {
// False to when testing the actual prediction network
let skip = question_mark_res.0[j] > 0.528;
#[cfg(feature = "evaluate")]
{
let diff = ((result.get(j.max(1) - 1) + result.get((j + 1).min(OUTPUT_COUNT - 1)))
/ 2.
- result.get(j))
.abs();
print!("{} ", (result.get(j) * 100.).round() / 100.);
let dist = (result.get(j) - output_data[i].get(j)).abs();
if skip {
question_marks += 1;
if dist > 2.05 {
correct_q_marks += 1;
} else if dist < 0.75 {
incorrect_q_marks += 1;
}
} else {
if dist < 0.75 {
print!("+ ");
correct += 1;
correct_distribution[j] += 1;
correct_diff += diff;
} else if dist > 2.05 {
print!("! ");
error_distribution[j] += 1;
incorrect += 1;
incorrect_diff += diff;
}
print!("{} ", (output_data[i].get(j) * 1000.).round() / 1000.);
println!("");
}
}
if skip {
print!("? ");
#[cfg(feature = "evaluate")]
{
print!("{} ", (result.get(j) * 100.).round() / 100.);
}
} else {
#[cfg(not(feature = "evaluate"))]
print!("{} ", result.get(j));
}
}
#[cfg(feature = "evaluate")]
println!("");
}
#[cfg(feature = "evaluate")]
println!("correct distribution: {:#?}", correct_distribution);
#[cfg(feature = "evaluate")]
println!("error distribution: {:#?}", incorrect_diff);
#[cfg(feature = "evaluate")]
println!("correct diff: {:#?}", correct_diff / correct as f64);
#[cfg(feature = "evaluate")]
println!("incorrect diff: {:#?}", incorrect_diff / incorrect as f64);
#[cfg(feature = "evaluate")]
println!("question marks: {:#?}", question_marks);
#[cfg(feature = "evaluate")]
println!(
"correct question marks: {:#?}, incorrect question marks: {:#?}, ",
correct_q_marks, incorrect_q_marks
);
#[cfg(feature = "evaluate")]
println!(
"Correct: {} / {}, Incorrect: {} / {}, score: {}",
correct,
data.len() * OUTPUT_COUNT,
incorrect,
data.len() * OUTPUT_COUNT,
25. * ((correct - incorrect) as f64 / data.len() as f64)
);
}
pub fn get_neural_network() -> NeuralNetwork<INPUT_COUNT, OUTPUT_COUNT, 36, 0> {
NeuralNetwork {
input_layer: Layer {
weights: [
[
-0.006746986588669736,
-0.009014266652303917,
-0.0007451666762135255,
0.006342633373192264,
0.0027298735690419814,
0.009817673852109085,
-0.0019132257273602965,
0.0051745747281944955,
-0.006556324799306717,
0.0005314755032777222,
0.008800575752433806,
-0.004111624073289646,
-0.007724403929998394,
-0.0006366038540770546,
0.00763249607248482,
-0.005279704217124032,
0.002989395313221047,
-0.009922805272174274,
-0.002835005931779126,
0.005434093416031036,
-0.007478107236401326,
0.008909132095923724,
-0.004003068640332424,
0.004266030512601896,
],
[
-0.1374718602771199,
-0.08858414226675812,
-0.046114997481435674,
0.005190541912769447,
0.030116549818844054,
0.08516104312210385,
0.10383948052418127,
0.1363880741491669,
0.10557632143475869,
0.09925183614325775,
0.07988818548323558,
0.05463662352258456,
0.0677658433833196,
0.07649687461438887,
0.13542568111360315,
0.17453923613327807,
0.16757339909079397,
0.16128536134366817,
0.19307176482933172,
0.2920783922561112,
0.47113648616756576,
0.7660533803575258,
1.1635503382596086,
1.7478975342452823,
],
[
5.289888321010628e-5,
0.007170514928142816,
-0.004552689846927485,
0.010629545061255857,
-0.0011977933346659399,
0.005763266176429892,
-0.006122187234556654,
0.0008307759897317522,
0.008956944247097979,
-0.0040512319607136785,
0.004135342221359699,
-0.0007141333716333785,
0.007510213142376712,
-0.005413965034513239,
0.002880649595932594,
0.010051710698282163,
-0.0027462935965422643,
0.005718966931382826,
-0.00690420280742223,
0.009807933196393871,
-0.0027413618705124337,
0.005930219215342435,
0.013488009868925661,
0.0023157531562921514,
],
[
-0.00656447492558349,
0.0017046236180520103,
-0.001908156993489079,
0.005179642690132218,
-0.007732557247015847,
0.0005365432339117237,
0.007624343430597159,
-0.004106556382713482,
0.002981242755577155,
-0.008749656548263113,
-0.0016618560588251717,
-0.005274616108214345,
0.0018131842383333643,
-0.009917714839882288,
-0.0028299152561202653,
0.005439184495836372,
-0.007473015775680165,
0.0007960834289538997,
0.007883882175005184,
0.004271101756941377,
-0.008641099192579091,
-0.0003719992459158372,
0.0067158006114559935,
-0.0050150984050534005,
],
[
-0.00965819643234242,
-0.0013890964159235552,
-0.006183156440969015,
0.0020859434970898717,
0.00917374334601237,
-0.002557156869449866,
0.004530642867693577,
-0.007200257403056705,
-0.0001124576537122779,
0.008156642169794396,
0.0033625620354106383,
-0.008368338069744328,
-0.0012805381514468372,
0.0069885617876349945,
-0.005923638224191524,
0.0023454618712013316,
0.009433262106518858,
-0.0022976375779393786,
-0.007091697214534005,
0.0011774031495636083,
0.008265203479079159,
-0.003465696239455321,
0.0036221040235637656,
-0.008108795736298791,
],
[
-0.0002029082512279985,
-0.002290365326734262,
-0.013605286089546429,
-0.004155059222354141,
0.007006721348857359,
0.0021262036215362596,
0.01723036018113653,
0.0333266335859346,
0.027073825007284526,
0.028110619801990026,
0.038273164828516996,
0.04953355730698577,
0.039132695305468944,
0.050309306758476245,
0.04036118248258221,
0.049129935485618385,
0.051511608912173885,
0.04033414197734488,
0.04143638835265009,
0.025471532078279614,
0.03107017728755848,
0.021216608067581168,
0.03269330041536453,
0.048257577105303165,
],
[
0.004154380759685555,
0.00054162076473123,
0.007629420762916333,
-0.004101479256544262,
0.0029863206175647907,
-0.008744579588318344,
-0.0016567798640266436,
0.006612319866047457,
-0.006299880406252018,
-0.009912660597061175,
-0.0028248607533275056,
0.005444239123623493,
-0.0074679609765623415,
0.000801138946429314,
0.00788893891917154,
-0.0038419610036987068,
0.003245839200074572,
-0.0003669205010032827,
0.006720879815267916,
-0.0050100198893737805,
0.0020777803762484864,
-0.009653119375202617,
-0.0025653191299702146,
0.004522481146826952,
],
[
0.010535409232385717,
-0.001168485065072168,
0.00594089365807556,
-0.005778356513573977,
0.0013260137845324748,
0.009623816664717504,
-0.0032696724927337886,
0.005010798347474498,
0.00021243839783772502,
0.008482439598241753,
-0.004436123278902407,
0.0038376695263035642,
0.010931998618316742,
-0.000776848169281625,
0.006353252931142517,
-0.005324466885129352,
0.009911206511008469,
-0.0029736907308684007,
0.0053566156886643845,
-0.0074728243293333135,
0.0009176473885329671,
0.00817282447936262,
-0.0033370526555124985,
0.004034620787441336,
],
[
0.006566534250131607,
-0.005153638765167112,
0.0019463525545225543,
0.010226394292909564,
-0.00266818444488569,
0.005624715133763514,
-0.007268307257922019,
0.009130909078297068,
-0.0037788224865153643,
0.004491560274607485,
-0.008422247564867955,
-0.0001518395871206386,
0.0069383993328964305,
-0.005965410095653773,
0.0023195645786632337,
0.009425189642615572,
0.005818611494811163,
-0.005916705221239537,
0.0011711916279287904,
0.00826423011201781,
-0.003446315010934954,
0.003680883266455842,
-0.007991638280339811,
-0.0008187541419290411,
],
[
0.0029913549010112304,
-0.008739541863955895,
-0.0016517419635732388,
0.006617356657188222,
-0.006294843874650718,
0.001974256499285041,
0.009062054698217166,
0.005449298239523828,
-0.007462900344677824,
-0.00037510141718102955,
0.007893997466235378,
-0.0050182004843813246,
0.0032508987412207743,
-0.00966130001907877,
-0.0013921990981706387,
-0.006186278944140933,
0.0020828217627648165,
0.00917061631471033,
-0.002560285163874821,
0.004527514174283358,
-0.007203386898164219,
-0.00011558695994963821,
0.008153512301644574,
0.0033594521932592443,
],
[
1.8044580598238075e-5,
0.007109139298458513,
-0.0046155456850614646,
0.0036602224285370126,
-0.009224370748912834,
-0.002093491349459803,
-0.005658964572793859,
0.0014713435259032374,
0.009778129654589811,
-0.0031046065055395367,
0.0051861918813647335,
-0.007706350096384323,
0.0005790372483693703,
0.007681950600174347,
0.004084472414835115,
-0.008824507778756796,
-0.0005766087134176793,
0.006468283993108861,
-0.00530883660675738,
0.0017339618205244466,
0.009965950220214508,
-0.002972276932780523,
-0.006605448446033479,
0.0004671637238118375,
],
[
-0.0031964229140423995,
0.0038913980404097818,
-0.007839489924229186,
-0.0007516565699549812,
0.007517442631385474,
-0.005394810069599269,
-0.00900748150604367,
-0.0019196048069806463,
0.006349613093098878,
-0.006562553032330176,
0.0017064607445080747,
0.008794229911186148,
-0.002936722485135858,
0.004151062213090849,
0.0005382563630484383,
0.007626070960220657,
-0.004104801370147264,
0.002983085049113601,
-0.008747752214474009,
-0.0016599396886958918,
0.006609031881951412,
-0.006303139061174779,
-0.009915955855937193,
-0.002828319975854515,
],
[
-0.006209177339239983,
0.0008819453634754734,
0.009155260021351742,
-0.003753413970002377,
0.004522757516680768,
-0.00025981751988471896,
0.008020488478000742,
-0.004882168896120179,
0.003393427424936555,
-0.009513649458893964,
-0.001241466687859861,
0.005849730149757697,
-0.005878481167753379,
0.00933181317631203,
-0.002392471934598056,
0.00470014914913628,
-0.0070333715862239,
4.6773515487403625e-5,
0.008310042066998364,
-0.004605829359253505,
0.002483984039773139,
-0.0011196876465630978,
0.0059834847499225935,
-0.005723236415414481,
],
[
0.009592344347142213,
-0.002137661301905541,
0.006132954748701835,
-0.006778194546249517,
0.009605897511706752,
-0.003314830437642853,
0.00493866195288486,
-0.007994920451713319,
0.0002514570285506827,
0.007324290316634857,
-0.00441722142004757,
0.002662714399067944,
-0.0009558802168378578,
0.0061286417953062096,
-0.005599079356577541,
0.0015038887000397643,
0.00861837125754494,
-0.00308483276007158,
0.004026888350313242,
-0.007684697526469356,
-0.0005797833403171764,
-0.004177401311696706,
0.002926683479294257,
-0.008785067718610184,
],
[
0.007049425471654141,
-0.004677325198846985,
0.0035941950545454967,
0.010680964483196616,
0.00586838222633253,
-0.005888265508116033,
0.0011638914576740228,
0.009397935497168488,
-0.003553152658465472,
0.004689414458085821,
-0.008245819988634382,
5.7032778896324234e-6,
-0.004801963898947089,
0.0034584884668472245,
-0.00945499275738591,
-0.0011734625180147922,
0.005937601938406187,
-0.005752537945632537,
0.0013889257280332455,
0.009718864161021449,
0.004997142372116465,
-0.006650112005036527,
0.0005403752362765639,
0.008936819382346632,
],
[
0.00324782206065682,
-0.00848307790101945,
-0.0013952778533513697,
-0.005008037834814822,
0.002079762124715985,
-0.009651137964096728,
-0.0025633381701781347,
0.005705761551990695,
-0.00720643875132286,
0.0010626610582783879,
0.008150460902024748,
0.004537680789240672,
-0.00837451930408126,
-0.00010541935444840592,
0.006982380702275219,
-0.00474851910009153,
0.0023392812000256774,
-0.009391618468129808,
-0.002303818173492816,
-0.005916577924331588,
0.0011712223320402588,
0.009440322620286499,
-0.0034718770215612423,
0.004797223437207331,
],
[
0.00027597776553783284,
0.00854207281278228,
0.0037426730891199638,
-0.007994031095225413,
-0.0009116716615635427,
0.007351172828895238,
-0.0055608584641187635,
0.0027140936345700223,
0.009813266050242152,
-0.0019122915075605077,
-0.006699194917883189,
0.001574284723353561,
0.00866503871740522,
-0.0030645588146112996,
0.0040177649911644344,
-0.007724380428182292,
-0.0006473282061463247,
0.007614378697760038,
-0.0053024691634448945,
-0.008919460413318817,
-0.0018413630357942555,
0.006409787097614642,
-0.006529482568161926,
0.0017003582848683267,
],
[
-0.0028641742815003032,
0.005405977862312325,
0.00061403934310016,
0.008885797330211519,
-0.004019514011706427,
0.0042591825600085745,
-0.008643719385083033,
-0.0003675422739243345,
0.006725860513104423,
-0.004999858228304442,
-0.00979043044432162,
-0.0015180353993200877,
0.005572702183618822,
-0.006155427304683264,
0.0009362197583003968,
0.00920830577119428,
-0.003703788333949045,
0.0045601942610249595,
-0.00024108165104978817,
0.008020257401934116,
-0.0048991077804335014,
0.0033637844124987954,
-0.009554471921184454,
-0.002471517260113918,
],
[
-0.006033355008407781,
-0.009646124971530034,
-0.002558318834988049,
0.005710783815089464,
-0.007201413280736234,
0.0010676840198174233,
0.008155482125778546,
-0.0035754199426496964,
0.0035123888553557662,
-0.00010037663513390955,
0.006987423044095588,
-0.00474347391425945,
0.002344320758835843,
-0.009386592261041958,
-0.002298791253180595,
0.005970308951368745,
-0.006941893856648406,
0.008264027295596842,
-0.0034668673285479664,
0.00362093500279544,
-0.008109958166025194,
-0.0010221602285651022,
0.007246940241534757,
-0.005665267200395809,
],
[
0.00013109805251122232,
0.007262733428975097,
-0.004415775052121116,
0.0038965008588679557,
0.011064784473986773,
-0.0005440427890696118,
0.006653720675652541,
-0.004990392054785651,
0.0021463420173239304,
-0.0014256737594962015,
0.005681291033961331,
-0.006020154096226338,
0.0010936863144702426,
0.008228688572540126,
-0.003424825597930773,
0.0037324447024074344,
0.011994540042542306,
0.007145741853792279,
-0.004617103301591995,
0.002464515779458726,
0.010795838841136267,
-0.0019677694769816233,
0.006533179277417626,
-0.006035214922934615,
],
[
-0.0041037795524417175,
0.002984347843166357,
-0.00874633560494769,
-0.0016586559903099662,
0.0066100244612518925,
-0.006302407678819186,
0.0019663854853369735,
0.009054094082479997,
0.005441317120464345,
-0.007470841506946497,
0.0007980766021990711,
0.007885886113826191,
-0.0038451151141773157,
0.0032424543486507017,
-0.00848830825699018,
-0.0014003662059986492,
-0.005013122959549494,
0.0020748317251265067,
-0.00965552548864126,
-0.002567024916156908,
0.005702912729858076,
-0.007208424309885836,
0.0010613855358675961,
0.008149813916288938,
],
[
-0.006956529029614098,
0.00014241829253198364,
0.008422774346614795,
-0.00448153148360224,
0.0038154652881716203,
-0.009047404876367196,
-0.0007213700974902531,
-0.005459335333833716,
0.0028579322534620093,
0.009979346307571175,
-0.0017291638663700865,
0.005380240308872098,
-0.0063330826541095325,
0.0007753841143293194,
0.009065191206780359,
0.004273229813076469,
-0.007495192262520099,
-0.00046753833867326655,
0.00775368903584725,
-0.005193469189329183,
0.003062310105429279,
0.010164227919279662,
-0.001531211053527368,
0.00561688332203401,
],
[
0.00970535613962367,
-0.003206832666844825,
0.005062299722258433,
-0.007849849042303335,
0.00041928223930935563,
0.007507124119112508,
-0.004223717254078735,
-0.00901770948157065,
-0.0007486009781283191,
0.006339208355167671,
-0.005391675376862316,
0.001696140585851659,
0.009965257402075968,
-0.0029469252738699683,
0.005322191182803269,
0.0005281313907489555,
0.008797232481881386,
-0.00411496553877795,
0.004154137445867455,
-0.008758053693886802,
-0.0004889537065818318,
0.006598847381330584,
-0.00513200508217028,
-0.009926023718876065,
],
[
0.007582735734224007,
-0.005327821220391021,
0.002940774969194969,
0.010024700413323814,
-0.0017433672557856236,
0.005286283466373472,
0.0015965326316240709,
0.008610896166740906,
-0.003192099397398794,
0.0038459381536911233,
-0.007924740180578534,
-0.0008687969394364241,
0.007374837242075027,
-0.005557535632776494,
-0.009180334617774727,
-0.0020776346414883113,
0.006238197733740767,
-0.006592293651616183,
0.0017709095539602516,
0.008951604740276602,
-0.0038655529468718986,
0.004499606289957541,
-0.0001839063495801041,
0.008218115626156283,
],
[
0.00234126319900792,
-0.009389636743874446,
-0.0011205366859977502,
0.005967263341069591,
-0.005763636565574677,
0.009442303610781314,
-0.0022885962318541795,
0.004799203893059851,
-0.006931696024554763,
0.00015610406845365532,
0.008425204123846558,
-0.004486995806042377,
0.0037821042501266925,
-0.0010119756700173231,
0.007257124470077563,
-0.005655075396047097,
0.0014327246267149887,
0.009701824567859917,
-0.0032103754525130324,
0.0050587245499766256,
-0.007853475367644951,
0.00041562481950508306,
-0.004378434895623326,
0.00389066550684855,
],
[
0.0023836224735119646,
0.010678095056918871,
-0.0010443423756550648,
0.006023701836940226,
-0.005840348532378225,
0.009161159059561245,
-0.0028518401966118284,
0.0039613158384051725,
0.011961134861820471,
-0.0011339050097724107,
0.00581117381632011,
-0.006024876733159075,
0.0009760332766941641,
-0.002686747655560329,
0.004407989848106386,
-0.007201925908514865,
0.0001218236414393542,
0.008754060778838746,
-0.003735181405052819,
0.004960267660099778,
0.01248619020502852,
0.009329141310833605,
-0.003066533186168415,
0.005807671437087997,
],
[
-0.0038415160801328237,
0.004427373773765908,
-0.008484942435110809,
-0.00021601140834437004,
-0.0050102057637254295,
0.003259064952712004,
-0.009653322576089172,
-0.0013843989791390084,
0.0057031672778671124,
-0.006027712881623971,
0.0010603272808924343,
0.009329526238387667,
0.0045355508260485665,
-0.007195332045092232,
-0.00010740683994073014,
0.008161822114833787,
-0.004750292602351615,
0.0035190235726729802,
-0.009393009263645167,
-0.0011237029933885239,
-0.005917491949777985,
0.0023519876746460446,
0.009440267615751351,
-0.002290253953369121,
],
[
-0.006930935278572103,
0.0013383536949009066,
0.008426110395077355,
0.004813047580521685,
-0.008100091218110892,
0.0001674654841988519,
0.007253041662281571,
-0.004480596040597115,
0.002604687889732163,
-0.009127956131758777,
-0.0020414457822222126,
0.006226794144552502,
0.0014322671508867333,
0.009700930902730562,
-0.003211234462248264,
0.005059144065743515,
-0.007850163164111234,
0.00042227686069517807,
0.007512834112961851,
-0.004215666626666203,
-0.009008325040535567,
-0.0007389596421828481,
0.006348409086817288,
-0.005383700492335562,
],
[
0.01435404373262781,
0.0029015458860667835,
0.010304588828842658,
0.006926078861484603,
0.014405158622769955,
0.0033204508254369735,
0.011016205288874504,
-0.0001786996540431881,
0.007205321637123609,
0.01571579997489898,
0.0029070117490234315,
-0.0005361148498094519,
0.006708010865580469,
0.015279223062228613,
0.0028447676529117856,
0.011523241899377574,
0.018518704853217938,
0.0065065532447683315,
0.013615753518058287,
0.010264801173018454,
0.018099960261051325,
0.007706764619754221,
0.016707367972004807,
0.00763632039947613,
],
[
0.009882662370656412,
-0.0017774513937813179,
-0.006494557100203483,
0.0018297783687751036,
0.008922705996579738,
-0.0028243651292606474,
0.004129601887857335,
0.012180692568800515,
-0.0010224609442656902,
0.007054965884008266,
0.0020967331793938894,
0.010255209533890995,
-0.002735613686801799,
0.005514820791705138,
-0.00729372309854677,
0.0012243132194102563,
0.008615698963526052,
-0.002816552283063212,
0.012704432976660372,
0.0012894506572545174,
0.008772423762046646,
-0.0024484338787039324,
0.005298757508375676,
0.014442368663269596,
],
[
0.005576962635286009,
0.001999369000865607,
0.009111065542696544,
-0.0026171439079287727,
0.0044403560874054365,
-0.007320341008185231,
-0.0002826907908724463,
0.007941086650024883,
-0.005036481543072053,
0.003186280986151605,
-0.0016553956962725282,
0.006586183580300166,
-0.006342661649812352,
0.0007555609262767646,
0.009066296400689794,
-0.003778189802121214,
0.004541383098671845,
0.011715404337106399,
0.008263914683415119,
-0.004442412415306114,
0.00409437714633899,
0.011515175618518617,
0.00020830645777624454,
0.007830853566429001,
],
[
0.000668236463872972,
-0.0029450091853249977,
0.004142839271051696,
-0.0075880804183553925,
-0.0005005340529277482,
0.0077694358739677696,
-0.00514283867233026,
0.003126266541459366,
-0.009786570046619895,
0.005420020289832588,
-0.006310103110208658,
0.0007782381790878161,
0.009047918841226589,
-0.003864452239023319,
0.004405727077887666,
-0.00850510556979959,
-0.00023537188926638468,
-0.005028103057116643,
0.0032422656216158506,
-0.009669589024926002,
-0.0013999121450467456,
0.005688842322564085,
-0.006040603445894105,
0.001049342120909647,
],
[
0.005716555302345775,
-0.007195261672859304,
0.001073874204545505,
0.009343546635804029,
-0.0035679331497234716,
0.003520018340368373,
-0.008210430502382323,
-0.0011222433363211619,
-0.004734246637650286,
0.0023529811035004123,
-0.009378401541903175,
-0.002290903155411306,
0.0059777652287614745,
-0.0069345003802914204,
0.0013336682027544648,
0.008420459260462861,
0.004807085566811375,
-0.008106243170711437,
0.00016167060367725596,
0.007248434828956567,
-0.004483779664774286,
0.002602708392866825,
-0.009129766619230532,
-0.0020437946804428724,
],
[
-0.18875524462304175,
-0.16849465086726276,
-0.17083896289742861,
-0.16019399478757168,
-0.1304272205603451,
-0.0558577837125859,
0.03355568276213227,
0.09779710834688186,
0.16703975925893794,
0.22299823251393122,
0.26599314058845,
0.28736340895788315,
0.3247108286809809,
0.3634681444116514,
0.3824177191911234,
0.39518721587412237,
0.35247583098753443,
0.28745970773830004,
0.2119065557035686,
0.16539932207075345,
0.11024603851853311,
0.08966484814610229,
0.07441882893502341,
0.038500106094932034,
],
[
0.0035860524447593445,
0.010707822158227168,
-0.0010070103980545535,
0.006061299751714457,
-0.005879867156244099,
0.0008678720043172266,
0.008666496949554806,
0.00341266562041002,
0.011226809651747813,
-0.001994961091208036,
0.006030229317707997,
-0.007066221758636185,
0.0010528838670026469,
0.008045183217584352,
-0.0036907744275623696,
-0.008307447901251978,
0.0003397621858868313,
0.008009321564024634,
-0.0030675775534803247,
0.004649819677905196,
0.013543363046718855,
0.0012625521061720817,
0.010240095926915358,
0.006288518582452569,
],
[
-0.0035710389732851863,
0.0035166933517104433,
-0.008214235792857988,
-0.001126455089055378,
0.007142647975677499,
-0.00576955524592698,
-0.009382315565972932,
-0.0022945302858597455,
0.0059745240953271,
-0.006937662494393032,
0.0013314521289144682,
0.008419244324507111,
-0.003311653144696436,
0.003776172015595747,
-0.007954743268882134,
0.0072511556168053165,
-0.004479747178834845,
0.002608037581742138,
-0.009122902454664985,
-0.002035093348334178,
0.006233988141619688,
-0.00667820865994127,
0.0004096146240725062,
-0.003203103594265477,
],
],
biases: [
-0.008646162061833933,
-0.9754267998596504,
0.005716538649839338,
0.0020727564224143325,
-0.0010209995178127517,
-0.0021498171914250638,
-0.007208419442133924,
-0.0017688838930054707,
-0.004927572445501764,
-0.008371455080000142,
0.008724674766635127,
0.005438552572039878,
0.0011545935670614757,
-0.0020091497548294997,
-0.0042285142667918075,
-0.008114978832361432,
0.008697893772871838,
0.005651278051921624,
0.00260333682923992,
-1.3832520867054036e-5,
0.00451822040302689,
0.00175862700150748,
-0.002840681390542419,
-0.004860736684152137,
-0.009021538766879169,
0.008505362283272722,
0.004814566822252327,
0.0016398468893863234,
-0.001143423914399949,
-0.0030699770469789266,
-0.006292532949714541,
0.009300481941571789,
0.006227661302943215,
0.03152897788027664,
0.007999696711413653,
0.003887966859598012,
],
},
hidden_layers: [],
output_layer: Layer {
weights: [
[
-0.006600699999999999,
0.22723841623241778,
0.01999906310723875,
-0.002978140712532368,
0.004113100000000001,
-0.013230863593602682,
-0.0005300000000000005,
0.015242107455118238,
0.0038971462977665547,
-0.008778394076114108,
-0.0047291261441966105,
0.006310969967541772,
-0.0022133614135071943,
0.00010579522678165357,
0.023837781274855897,
-0.00271516,
-0.005083498383653174,
-0.0019171447168121233,
0.007819200708056048,
0.0022307887164693518,
0.003409543770519159,
-0.001612502373397675,
-0.0017382903091414,
0.01970199235566997,
0.002036500000000001,
0.019104212925226408,
-0.0026978196774436417,
0.0017021230055239425,
0.004481233808087669,
0.008671783864187045,
0.020821797938807427,
-0.005338078656288023,
0.0028723188073220504,
-0.11432315037317009,
0.017503430174993135,
-0.006036362589465449,
],
[
-0.00943488,
0.22738888479631766,
0.017425018767705965,
-0.0058123168720937346,
0.009397059999999999,
-0.007086466176139213,
0.004753959999999999,
-8.350814820081867e-5,
0.0014829386775436844,
0.007207371558004167,
-0.007900926720630752,
0.002311244718809507,
0.0033473929373064055,
0.004494513547105721,
0.00982171209935585,
0.0013874800000000008,
0.012309110209766187,
-0.005909365069484175,
0.004985177191753389,
-0.0013177963419214068,
0.00878747000540134,
0.003764163690641021,
0.0036098626073819496,
0.005635870113712194,
-0.0007976799999999995,
0.016454661452010324,
-0.005504480052301802,
-0.001108590085183639,
0.011369194116965452,
0.01433760525167645,
0.006666118489097826,
9.170674699173472e-5,
0.008231664479645536,
-0.11571275690787797,
0.01472142516362606,
-0.008871045221839026,
],
[
-0.0053322199999999995,
0.22475568035929197,
0.0014052989827570024,
-0.0017097945348675825,
0.0053815799999999995,
-0.008996960753246257,
0.0007384799999999992,
0.005081753331301002,
0.005905219448844283,
-0.007506073390462552,
-0.003717280633868079,
0.007624722292324166,
-0.0006269459530991162,
0.0018194521008667638,
0.00578317873083844,
0.00667144,
-0.003735243977421309,
-0.00020642929534649756,
0.009088982385797948,
0.0043026700074132295,
0.004854787963064001,
0.0004716285045388656,
-0.0003612869636557709,
0.02277462973722192,
0.003304959999999999,
0.002098355579252672,
-0.0013639255068199165,
0.004193255925394629,
0.007955191569609122,
0.011715193821167673,
0.02245361199187952,
-0.002618335306112403,
-0.007606437492485548,
-0.11057048541028028,
0.019067728211985806,
-0.0035836350299227886,
],
[
-0.0081664,
0.2177913469422184,
0.018413439016313954,
0.002393344955221922,
-0.009334480000000001,
-0.000737244332671835,
0.00602242,
0.0014182714914980664,
0.0036065981371053244,
0.008478540835036368,
-0.006792194564625786,
-0.008244088223460564,
0.004913142055936018,
0.006189612191239326,
0.010925349599560229,
0.0026559599999999993,
-0.006829559512582621,
-0.0041103407200151106,
0.0062580836203130095,
0.009152864656962844,
0.01004802684184872,
0.0045392884405914226,
0.004966541614625591,
0.006708152427951625,
0.00047077999999999953,
0.01786169666768523,
-0.004201054689820344,
-0.01166091199310973,
0.014705553953663159,
0.016440191821495167,
0.008184171922405824,
0.0013358575048477298,
0.008316518769881901,
-0.09974838105031641,
0.01463311673065714,
-0.007594295554138343,
],
[
-0.00406376,
0.20555571323704946,
0.0020712284303070253,
-0.0004406654875830762,
0.006650039999999999,
0.0013848664363829972,
0.002006939999999999,
0.006838128655728554,
0.008185843049090279,
-0.00623354138681348,
-0.002530016389975767,
0.008959461602550726,
0.0009173605737663767,
0.0037324441310743585,
0.00551368479292927,
0.0079399,
-0.003166816047791615,
0.0014322040628487107,
-0.009636618951864172,
0.006891927683418955,
0.0059748682472600375,
0.001342725657322232,
0.001003024841220856,
0.0107761901900145,
0.00457344,
0.0027678688892574872,
-3.3567515421463363e-6,
0.0058260401824296,
0.011358820037345278,
0.014192054650296436,
0.004089723794560466,
0.0066306646783612965,
-0.0063644044757396314,
-0.07467619955783804,
0.019459864298724282,
-0.003486077358322648,
],
[
-0.00689794,
0.18318820767680377,
0.0070031443619639954,
0.003662912845551009,
-0.008066,
0.014435517385376854,
0.0072909,
0.0035288473442933,
0.006061668216514714,
0.009751716121916535,
0.002938605452558879,
-0.006894068916145879,
0.0061356440727991495,
0.008497189691723415,
0.008469267141318654,
0.00392442,
-0.006459179139106746,
-0.002645696494952752,
-0.004347547722041522,
0.011970774769401163,
-0.008863438954571309,
0.005543516732714253,
0.006333128051252481,
0.004616568920120274,
0.0017392600000000003,
0.01759961313572214,
-0.0027796102943237863,
-0.009602330734852496,
0.016667679025649904,
0.019072126648004884,
0.008580620524844998,
0.002525867461766271,
-0.01037720931781236,
-0.03520111621649355,
0.014227257991587841,
0.0018133744825996633,
],
[
-0.00279528,
0.15787977231382422,
0.0025794860489784187,
0.0008296287920221239,
0.00791852,
0.0193516420466677,
-0.00860646,
0.009235233130180334,
0.010582741480768033,
-0.004963150617159849,
-0.00040617375566013604,
-0.009715032000926303,
0.0017132319294102902,
0.0062415773075388346,
0.009427404351230677,
0.00920838,
-0.0028011605539384437,
0.0024878880857232815,
-0.00835878619791305,
0.009420959014391423,
0.007050962307587143,
0.003068840877306572,
-0.009509326893984793,
0.006889411230790818,
0.0058419,
0.0015031902573365518,
0.0013652225981652386,
0.008237197785411857,
0.013726014720371037,
0.015412983799453021,
0.013557787370724763,
0.00654619156308525,
-0.005111495618516243,
0.01033381139660699,
-0.001765149624596973,
-0.0021939176313396837,
],
[
-0.005629459999999999,
0.131430421691054,
0.0015311696836380747,
0.0049334835787031165,
-0.0067975399999999995,
0.022955046458804793,
0.00855936,
-0.0027986826419236573,
0.00337262791140238,
-0.008992729617834897,
0.008821090735187966,
-0.005476283846352908,
0.0024153897196134873,
0.008573621023138802,
-0.004987837043398643,
0.0051929,
-0.006308108884959569,
-5.6330481969538415e-5,
-0.003063961114104689,
0.005303008766216625,
-0.006893229612863751,
0.002438051625853466,
0.00759816242433833,
-0.0082397923110647,
0.0018264199999999996,
-0.007893635280966049,
0.005935388930954622,
-0.006157694755852101,
0.0061611363244804115,
0.013141138094131925,
-0.0019189621121338725,
0.005544878414135367,
-0.007972736777198947,
0.056545864737509666,
-0.002300884734988841,
0.0031101159441154842,
],
[
-0.00152682,
0.10578933620286537,
0.003820446021893874,
0.0020985427577315976,
0.00918698,
0.04294946541309566,
-0.007337979999999999,
0.011920214492436194,
0.012373418071051205,
-0.003718143628026455,
0.002586202135463956,
-0.008446676388284186,
0.0021237475448224173,
-0.003416026829225387,
0.004477348742820933,
-0.009523160000000001,
-0.0018558788699178151,
0.003075101848496416,
-0.0070878688478729955,
0.010173842290682151,
0.008113855787266111,
0.014496023644366501,
-0.008127018006870953,
0.002029294572900738,
0.00711038,
-0.00031317353374232126,
0.0026298333223403686,
0.01007491725414273,
0.014367159602101305,
0.016626965398340746,
0.013979349375054767,
0.007319116257674296,
-0.00416312374535462,
0.09259792703174595,
-0.003399343979632056,
-0.000919268466721527,
],
[
-0.004361,
0.09001804650473938,
0.002441605734137247,
0.006202245463144642,
-0.00552906,
0.034994803275128994,
0.009827840000000001,
-0.0005919255303881533,
0.0050635275877007925,
0.0003771957197146736,
0.010872884669569712,
-0.004221721458255986,
0.003412053252313823,
-0.009307430383093935,
-0.006857478925684648,
0.00646136,
-0.005199007674545638,
0.008945644952606448,
-0.0017942609591508627,
0.006299363247541435,
-0.0058824992244819714,
0.004747029951888004,
0.007787536223495295,
-0.010107136810532793,
0.0030949000000000003,
-0.0006346531212880669,
0.007055834522838548,
-0.0037390703280684627,
0.007887424277714626,
-0.0059196032442390975,
-0.00109151193257941,
0.006288409039131025,
-0.007043141544549972,
0.12178010194968898,
-0.003227945355721853,
0.004382686967478521,
],
[
-0.00025834000000000024,
0.07780753555855865,
0.004927922445023952,
0.0033675152804143673,
-0.0014264200000000005,
0.051573814680563046,
-0.006069519999999999,
0.013796070778526279,
0.013857242173639399,
-0.0024586202665980435,
0.0046975461204570145,
-0.007172511546161348,
0.0031296294662245946,
-0.0015970789604689525,
0.002485272741312896,
-0.00825468,
-0.0008398726161644608,
0.004089555550661933,
-0.005818469389732033,
0.011231280309208998,
0.009224853860846781,
0.016709140236503044,
-0.0067782845460033795,
-0.001128771275307342,
0.00837884,
-0.0019292367834131596,
0.0038693335330260313,
-0.007630803309952326,
0.015348482010105252,
0.005888479579075783,
0.01481373872245701,
0.008298204342290824,
-0.0030800932055686557,
0.13673153052488599,
-0.0037645238894814586,
0.00035290001364900766,
],
[
0.005025599999999999,
0.07002292706675767,
0.003510277174554456,
0.007470931716795182,
-0.0042606,
0.04357723972256621,
-0.0089037,
0.0008659754472162609,
-0.005277688394163501,
0.0016427937868578838,
0.012222995082052004,
-0.002931019085569945,
0.004880956549661121,
-0.007717019508840095,
-0.005210351124609316,
0.007729839999999999,
0.004291801432166655,
-0.00956006412671051,
-0.0017060780055490896,
0.007956503916040374,
-0.0058512316910692185,
0.005875654127604703,
0.009078199525468114,
-0.008570037918781621,
0.00436336,
0.0004771041008011472,
0.008256909751802778,
-0.002375006221424301,
0.010266840795602413,
-0.005104535202550885,
0.00021532710356033595,
0.0074455186805590145,
-0.005853182800171121,
0.15312351857264758,
-0.0024294455593099084,
0.0056558205610874705,
],
],
biases: [
0.237881035408097,
0.237647594874218,
0.23476736743804158,
0.22532840949226499,
0.20899875716861716,
0.18478201069555153,
0.16374627996886798,
0.14555574677874078,
0.13104766636467188,
0.12235991358410823,
0.11440368610712806,
0.10842734458565553,
],
},
}
}
pub fn get_question_mark_network() -> NeuralNetwork<36, OUTPUT_COUNT, 18, 0> {
NeuralNetwork {
input_layer: Layer {
weights: [
[
0.4789270236961473,
0.5217257041065333,
0.4151687792430699,
0.4423091734883325,
0.41843771241072136,
0.14114727112351633,
0.06475273748257934,
-0.20441874000468435,
-0.11890556891174502,
-0.3333775254074747,
-0.31793742769074995,
-0.5244278459430917,
-0.4568518710621017,
-0.36617492418054914,
-0.46743922373340774,
-0.3589711913708994,
-0.3742644021583681,
-0.23912294160026437,
-0.21416649427188558,
-0.012988099027232053,
0.17412148165770308,
0.16237140086427787,
0.43078954037739775,
0.3944469477836317,
0.45817190819142023,
0.3281685231584733,
0.40091807857482276,
0.44967912903682405,
0.28330632669273087,
0.2781922719366233,
0.06609775806836236,
0.043191649299039875,
-0.07499401330565633,
-0.06654351082325861,
-0.21470302567761135,
-0.1755008603824467,
],
[
-0.04683099994805934,
0.02404700004767825,
-0.09326199995878605,
-0.02238399995373238,
-0.05851159995282398,
0.012366400051262926,
0.09505740005086806,
-0.034064599949927464,
0.04862640003982983,
-0.08049559996435121,
0.0021954000323066076,
0.07307340003436906,
0.03694560002777834,
-0.09217639997926665,
-0.009485399978723453,
0.06139260001997625,
-0.05591639997011468,
0.014961600031551088,
0.0976526000223287,
-0.031469399979542054,
-0.06759699997253985,
0.003281000028120331,
0.08597200002469547,
-0.04314999997631145,
0.03954100003400605,
-0.08958099996598792,
-0.01870299996616781,
0.06398800003355345,
0.016047200033025243,
0.09873820003190834,
-0.03038379996982175,
0.05230720002803902,
-0.0768147999739681,
0.0058762000245054105,
0.07675420002368392,
-0.04055479997703802,
],
[
0.01689192943811823,
0.0823922399594586,
-0.051017102513963894,
-0.06678065644047051,
-0.24147776354474174,
-0.21676464915406554,
-0.15279760004235182,
-0.17580543378454971,
-0.10707235743646497,
-0.2796745868965546,
-0.2056850049175507,
-0.32728816039795317,
-0.21168120990931302,
-0.11590820842237291,
-0.25628619254201995,
-0.0997737836021689,
-0.13555884487410788,
-0.06635440237177412,
-0.15849169744384603,
-0.10437169298379737,
-0.05279170303955892,
-0.08449933037300741,
0.11819639490925882,
0.10720592169823705,
0.08638461720620835,
-0.03282656473833647,
0.03520120791381691,
-0.09098952841954214,
-0.03787486976569535,
0.030573450404455523,
-0.11132803447433491,
-0.028632687718951465,
-0.07187221159411673,
0.010652653419174334,
-0.11365175771080277,
-0.033649816532082225,
],
[
-0.03414620009536447,
0.04854479990815968,
-0.08057720007521003,
0.08329499992438419,
-0.04582700007074558,
0.03686399991929157,
-0.0922580000913721,
-0.00956700008786626,
0.0613109999262178,
-0.05599800007254578,
0.0148799999305572,
-0.0330606000717734,
0.049630399932110665,
-0.07949160005650686,
0.003199399942893658,
0.07407739993442897,
-0.0432316000769916,
0.02764639993475918,
-0.08966260004782402,
0.0623965999502364,
-0.05491240006522535,
0.015965599924323812,
0.09865659992746618,
-0.030465400073764685,
0.052225599913831224,
-0.07689640008615123,
0.005794599914312432,
0.07667259991522048,
0.040544999916733146,
-0.08857700008076501,
-0.005886000077805653,
0.0649919999254375,
-0.052317000071610234,
0.01856099993048493,
-0.09874800006813271,
-0.027870000067030054,
],
[
0.12385808745293113,
0.17903930623177183,
0.05079829483995393,
0.0780850231622768,
-0.09827610417791248,
-0.07924534060914544,
-0.04165562690236632,
-0.12488595978487414,
-0.24943610545530723,
-0.20484555467901572,
-0.13892424990225744,
-0.2974420948349925,
-0.20095370835112686,
-0.09412032662188591,
-0.19358847320161604,
-0.20520177287249736,
-0.13925829363295283,
-0.09532622354361237,
-0.1917342132332118,
-0.10370726490759169,
-0.19276988077129745,
-0.0673781210689622,
0.13477956205776653,
0.14261893200283984,
-0.017875948213384854,
0.049728837127014404,
0.12907612596851642,
-0.007745017425647825,
0.056050143912956596,
0.10850841504070328,
-0.04336710608864319,
-0.1164628208435263,
-0.05887249689807446,
-0.012021173138664076,
-0.13099516421631674,
-0.0708381708028301,
],
[
-0.813676679931135,
-0.6706632614001562,
-0.7623561777262815,
-0.46227474851162664,
-0.29567480947364305,
0.0871891462358207,
0.12914064780645637,
0.2990067733810145,
0.2162512538731119,
0.21645333102245318,
0.29843446899254256,
0.4150518644226574,
0.3557792938717553,
0.010532089281389967,
0.07234308612996058,
0.1053877396958702,
0.2869116373550151,
0.7074989548337784,
0.745902042970578,
0.9879062120275162,
0.6992502279211855,
0.3564733131022393,
-0.5794486179013967,
-0.9538859345882609,
-0.5789180025690659,
-0.6679713002986792,
-0.5853112046190585,
-0.596308345786269,
-0.44741431409181404,
-0.5402244240058526,
-0.3087780760701584,
-0.12763313740797655,
-0.13574042715463844,
0.07690336774588348,
-0.08039631305869886,
0.1354649698701585,
],
[
0.03137799989671543,
-0.08593100010790232,
-0.015053000104606355,
0.067637999897953,
-0.06148400010343589,
0.02120699989622197,
0.09208499990240146,
0.05595719992180327,
-0.0731648000643011,
0.009526199934226449,
0.08040419993842104,
-0.03690480005790414,
0.033973199948163404,
-0.08333580003901427,
-0.012457800032930578,
-0.04858540003780719,
0.02229259994834033,
-0.0950164000565929,
-0.024138400052685915,
0.05855259995401771,
-0.07056940004743939,
0.012121599951239084,
0.08299959995460775,
0.03505879995198582,
-0.08225020005758389,
-0.011372200057601848,
0.07131879994278702,
-0.05780320005659552,
0.024887799944714645,
0.09576579994680663,
-0.02154320005045564,
-0.06948380004731934,
0.013207199955191361,
0.08408519995735901,
-0.0332238000416296,
0.03765419995953875,
],
[
0.012787785198075588,
0.08131392276317033,
0.04868698929202253,
-0.08378809519373008,
-0.003475711380247809,
0.06281761180246294,
-0.060699669812083946,
0.005267575553644396,
0.09040257814103922,
-0.03886372837440755,
-0.07952625016713508,
-0.01334006741835239,
0.06999449658744873,
-0.054227074464301146,
0.025821515403382917,
-0.10680839888326045,
-0.03208688833502654,
0.042096921141990214,
-0.06034288947222523,
0.10112874363871074,
-0.017015145539301283,
0.04811864284240671,
-0.06658559127774392,
-0.0018884538626046336,
0.08213301028607845,
-0.046821140766345394,
0.03566182008713087,
-0.012083749757084872,
0.06977561667754119,
-0.06073229701751205,
0.020664405170179624,
-0.10991848723108777,
-0.028305176808876134,
0.041794426520595174,
-0.0756738187466033,
0.07590141096630287,
],
[
0.04406260002537296,
-0.07324639997879094,
-0.0023683999808445733,
0.08032260002314977,
-0.048799399977111683,
0.03389160002396114,
-0.01404899997630489,
0.06864200002659693,
-0.060479999979931774,
0.022211000014960444,
0.09308900001065273,
-0.02421999998729622,
0.0466580000079518,
-0.07065099999260425,
0.08140820001033477,
-0.03590079999275423,
0.03497720001265782,
-0.08233179998286308,
-0.011453799985520914,
0.07123720001304158,
-0.057884799982424406,
0.024806200017515614,
-0.023134399983035858,
0.059556600015256346,
-0.06956539997956677,
0.013125600020434901,
0.08400360002028037,
-0.03330539998002783,
0.037572600019379516,
-0.0797363999816415,
-0.008858399982933751,
-0.04498619998436636,
0.025891800014362684,
-0.09141719998657813,
-0.020539199987132318,
0.06215180001238676,
],
[
-0.11287838879514978,
-0.032530779333382435,
-0.08189469706169687,
-0.192694631777829,
-0.0952127580240275,
0.02940202644595864,
-0.05741500314986918,
0.05546717210788851,
-0.05305148409830671,
0.05773291800502892,
0.02363684009234866,
0.1244230891183141,
0.19987051801498557,
0.07947690119161868,
0.14657657287974513,
0.026726322476279544,
0.0897453785591631,
0.147942549372686,
0.06480783359286409,
-0.08403402103395191,
-0.045695241039027536,
0.0017498656041107677,
-0.17176907549695733,
-0.12042199278237878,
-0.21968036616372671,
-0.13674978379596595,
-0.18197671214076036,
-0.09326144778914346,
-0.009566561708591836,
-0.10608932258953288,
-0.009406645899823367,
-0.10030899687116931,
-0.006046759395702219,
0.08244257194217751,
0.05553179936940619,
-0.06482531615478494,
],
[
0.06044221852182621,
-0.06878337192614166,
0.014152133157251001,
0.08540145863465115,
-0.031123852639214147,
0.04079057085617273,
0.0059727563889048,
0.07857129691662595,
-0.03722955928979208,
0.034644295899351196,
-0.08183107274036755,
-0.01033237862961387,
0.07272879698012748,
-0.056131635699120414,
-0.09238193145317777,
-0.022592002747365104,
0.05882505854455947,
-0.07121035438912642,
0.010245483654816187,
0.07987988112868716,
-0.03872544115037585,
0.03097298015882601,
-0.006373772469908586,
0.06397119505022432,
-0.05324147785309311,
0.017631491046298683,
-0.0995751927417101,
-0.028435900009829145,
0.054791845130332334,
-0.0734767191848002,
0.09149560560649458,
-0.03650598453128753,
0.04718505479729941,
-0.08121106119041509,
0.0018792239957231627,
0.07313504346582168,
],
[
0.0418893300189139,
-0.007971696463573184,
0.07428220009843753,
-0.05562243159599923,
0.013932856923232246,
0.10068684501803125,
-0.024889568592933176,
0.05628317422322871,
-0.07540822833037303,
0.08815021533370852,
-0.04323704869288048,
0.03833837371526509,
-0.09180111197274311,
-0.007728066960791023,
0.06529673381531469,
-0.04681779753958158,
0.02881396447511246,
-0.09123507419847329,
0.05857427452813015,
-0.06034237152191511,
0.009964895742717694,
0.09228023204617006,
-0.035879581649375554,
0.04522359024973996,
-0.08154417801343512,
0.001055439363313066,
-0.04687834347296207,
0.03575497841279498,
-0.09345538823917646,
-0.010522384512738023,
0.05996480905044992,
-0.05738648774735154,
0.013257948288566648,
0.0956493604848638,
0.04790070101781194,
-0.0695354661020599,
],
[
0.08124499996251339,
-0.036064000035539244,
0.03481399997472371,
-0.08249500002554677,
-0.01161700002194211,
-0.047744600034977366,
0.02313339995294467,
-0.09417560004545895,
-0.023297600038668317,
0.0593933999635017,
-0.06972860003691943,
0.012962399960815853,
0.0838403999602948,
0.04771259996683752,
-0.08140940003434567,
0.0012815999522220415,
0.07215959994098825,
-0.045149400045173795,
0.025728599975455624,
-0.09158040001846031,
-0.020702400022441267,
-0.05683000003418791,
0.0140479999581598,
0.09673899995135515,
-0.03238300004678549,
0.0503079999532297,
-0.07881400004658137,
0.003876999953772374,
0.07475499995422877,
-0.04255400004511837,
-0.09049480004461305,
-0.007803800044118893,
0.06307419995637961,
-0.05423480004335837,
0.016643199956965633,
0.09933419995714347,
],
[
-0.09932608048885283,
-0.16038771625747844,
-0.07597973563356876,
-0.19568467288944333,
-0.09295956102362067,
-0.17198897680084071,
-0.0394804780460635,
0.06761374866527155,
-0.03013077250076707,
-0.04711095848227114,
0.042519140846263986,
0.1299445849505224,
0.017851149367843502,
0.10110254327246461,
0.19577147441327505,
0.07273232373219848,
0.15280632122826504,
0.06809908645503046,
0.11666671314289974,
-0.048366051668283165,
-0.0003292315665145047,
-0.16996765921758633,
-0.1270115919231229,
-0.09474936700799662,
-0.16905617157507272,
-0.01766118604462025,
-0.13242091854355192,
-0.056031933943761505,
-0.16116740144617092,
-0.0678179826089728,
0.040540785868367665,
-0.059873963108099074,
0.0473859694496889,
-0.06454542289773714,
0.11087411684488821,
-0.009529890028449027,
],
[
-0.0942572000815345,
-0.023379200076258273,
0.059311799917391564,
-0.06981020007956844,
0.01288079992790817,
-0.035060000076609046,
0.04763099992269168,
-0.08149100008085987,
0.0011999999199664292,
0.07207799992298462,
-0.04523100006920796,
0.02564699993307264,
-0.09166200006119439,
0.0603973999294052,
-0.056911600074579675,
0.013966399930534,
0.09665739992904518,
-0.03246460008090743,
0.05022639990571962,
-0.07889560010068222,
0.003795399903857795,
-0.04414540009754347,
0.03854559990469199,
-0.09057640008630836,
-0.007885400093486218,
0.06299259990658776,
-0.054316400092912887,
0.016561599908184187,
0.099252599909975,
0.05131199991183913,
-0.0659970000870549,
0.0048809999133791245,
0.07575899991324579,
-0.04155000008683806,
0.029327999913407902,
-0.08798100008630408,
],
[
-0.06904318690704468,
0.012604960642743288,
-0.11707443257001654,
-0.033387276421243145,
0.03985714593427837,
-0.07290391928636669,
0.003222629129978135,
0.09269786034962312,
-0.03168032176110342,
-0.0635553961203541,
0.010084532190780308,
0.09643748572570002,
-0.03108976335050602,
0.05303952666007368,
-0.07470989064945648,
0.006255832777314428,
0.07480225121187953,
0.0364062802651656,
0.1045596344465201,
-0.015001592540180412,
0.05267725741801998,
-0.06978895007951276,
-0.006771751872336944,
0.0703412932640191,
-0.05384133891774141,
-0.0900314962688222,
-0.018858990862494575,
0.06451115001008272,
-0.06301278424582764,
0.022381632841777216,
0.09665263720321955,
-0.01710060284799265,
0.05682671928682708,
0.022920280067643888,
0.09507695545805436,
-0.021083175524089948,
],
[
-0.08157259983598741,
0.001118400161949799,
0.07199640016817804,
-0.04531259984288869,
-0.0932531998481875,
-0.010562199850163542,
0.06031580013693878,
-0.0569931998817405,
0.01388480010725486,
0.09657580011100655,
-0.03254619989738573,
0.05014480009548491,
0.0022040000847980187,
0.08489500008202207,
-0.04422699992827149,
0.03846400006769234,
-0.09065799992727637,
-0.019779999914450935,
0.06291100010344147,
-0.06621099988204913,
0.0164800001184122,
-0.03146059988508315,
0.05123040010350148,
-0.07789159990933144,
0.004799400112179021,
0.07567740011213953,
-0.04163159988865821,
0.029246400109737534,
-0.08806259989334227,
0.06399660010274344,
-0.05331239990106289,
0.01756560009549178,
-0.09974339990662208,
-0.028865399908597163,
0.05382560009032729,
-0.07529639991108172,
],
[
0.02457731718646271,
0.09643057231569618,
-0.022353036200748477,
0.04790088589659177,
0.12341451003607032,
-0.015123058211034945,
0.05683510048716697,
-0.08418794520471491,
0.0699594518133695,
-0.0683222680770394,
0.00898063452490362,
0.07370683097900999,
-0.04612133676669013,
0.0219580640712506,
-0.09498335113640262,
-0.01932072132177861,
-0.04938698641500888,
0.0252264763040562,
-0.08743446965335526,
-0.00905096495120252,
0.08435174798694037,
-0.03152730964222023,
0.06899941128410485,
0.15236050919225536,
0.10520613170331843,
-0.023899909708023803,
0.0579294903281638,
0.12683969288824012,
0.005397970498682907,
0.06961858894086441,
-0.05555955821884493,
0.007229019488210608,
0.08299714057313415,
0.029991546781902117,
-0.09028788699540938,
-0.022071488104777146,
],
],
biases: [
-0.10621180388881925,
-0.08849540002418868,
1.7708658338500045,
-0.06399780009135873,
0.2284759415932577,
0.4612305527210486,
-0.0796548000360566,
-0.012111947609433736,
-0.06697019999450254,
0.13246575411433137,
-0.04217134748931729,
0.0014399750361643634,
-0.029787800089000144,
0.2974457686013043,
-0.017103000305655668,
0.07295385995128888,
0.0073946002897478874,
0.05047968007514816,
],
},
hidden_layers: [],
output_layer: Layer {
weights: [
[
0.15269468232630626,
-0.043630999999999996,
0.3591460202167106,
-0.008880600000000006,
0.1598913556287861,
-0.21476338450452595,
0.015566400000000003,
0.054444031746236216,
-0.0308646,
-0.09938204238494562,
-0.08090486163952249,
0.07954150725985576,
-0.0425454,
-0.11889831352770293,
-0.0889764,
-0.06931066674185185,
0.0645926,
-0.005559672126596183,
],
[
-0.09914643056714625,
0.052912,
-0.06439698440056547,
0.006481000000000003,
0.08917841505379115,
-0.03994981545194686,
0.030928,
-0.08638095747147624,
-0.015503,
-0.05162860052235884,
0.019247213373640507,
-0.09806139653453372,
-0.0271838,
0.055508647741316544,
-0.07361480000000001,
-0.0027365405192624963,
0.0799542,
0.03201363744167523,
],
[
-0.002190033575367629,
0.0682736,
-0.04903538000373193,
0.0218426,
-0.0954663869789463,
-0.024588175719980745,
-0.0725292,
0.010161825776803324,
0.0810398,
-0.036269104157728126,
0.0346088091953662,
-0.08268150137503638,
-0.011822200000000005,
0.07118245757495477,
-0.058253200000000005,
0.09383032210982802,
-0.0235028,
0.047406225124937536,
],
[
0.09401773873544284,
0.08363519999999999,
0.35833896668659043,
0.0372042,
0.045729258656281295,
-0.1818703508671181,
-0.057167600000000006,
-0.03474655257403832,
0.0964014,
-0.07578140127803944,
0.04310442057773931,
-0.06009468245170382,
0.0847208,
-0.12960171310858168,
0.0382898,
-0.1282800766086766,
-0.008141200000000005,
0.1285848879868445,
],
[
0.09398347713540456,
-0.019821999999999996,
0.3905155219264303,
-0.066253,
0.05322470130909661,
-0.23123723069375116,
-0.041805999999999996,
-0.07884034988119291,
-0.088237,
-0.06380052889118988,
-0.08933465614497728,
0.002001725221811105,
-0.0999176,
-0.15667198535270588,
0.053651399999999995,
-0.11186595345573289,
0.007220399999999993,
0.15002097793448108,
],
[
0.12967511260850384,
-0.004460399999999998,
0.4402905855705396,
-0.050891399999999996,
0.10226457423311545,
-0.2842798480451881,
-0.014631400000000006,
-0.15787935460969418,
0.00830599999999999,
-0.11351209730660321,
-0.03937604899749825,
-0.00855324471783068,
-0.08455599999999999,
-0.16642335065021993,
0.06901299999999999,
-0.012259599166830894,
-0.0962368,
0.0535140911691648,
],
[
0.1398280370687654,
0.01090120000000001,
0.46007906156542444,
-0.0355298,
0.07552322436560041,
-0.31528118133575744,
0.0819116,
-0.12784904710692058,
0.02366760000000001,
-0.2516134938036743,
-0.04568843142608243,
-0.017217160124976264,
0.01198680000000001,
-0.10883170680484794,
-0.0344442,
-0.009159717826639994,
-0.08087520000000001,
0.060804495525268155,
],
[
0.10116069065101913,
0.02626280000000001,
0.43952338150976905,
0.06101319999999999,
0.06327617497459,
-0.29319922147213145,
0.09727319999999999,
-0.10159617468396871,
0.03902920000000001,
-0.2389374332258143,
0.0619223551766269,
-0.1091790217099762,
0.027348400000000005,
-0.29385049301981536,
-0.019082600000000005,
-0.03654897205404554,
-0.06551359999999999,
0.02865331034117724,
],
[
0.14214751235084427,
-0.0771942,
0.434746651818269,
0.0763748,
0.023424321673016568,
-0.2978023535607578,
-0.0873652,
-0.02158135873358238,
-0.064428,
-0.1710395020097133,
0.05125043057419513,
-0.08610494866786539,
0.042710000000000005,
-0.3104793489005239,
-0.0037209999999999964,
-0.11745402954626852,
0.031029400000000006,
-0.04988899411122869,
],
[
0.16857204434940995,
-0.061832599999999995,
0.4288039207794446,
0.09173640000000001,
0.07477643533048224,
-0.28323480478317137,
0.009177600000000008,
0.030748283564312275,
-0.049066399999999996,
-0.12119743093518194,
-0.08935858853163807,
-0.03874730214208508,
0.0580716,
-0.217580816020475,
0.092822,
-0.09766715217715363,
0.046391,
0.0078025109013746775,
],
[
0.19556044426659708,
-0.046471,
0.4213295705040448,
-0.011720799999999998,
0.15940421317161432,
-0.26834198601643583,
0.024539200000000004,
0.049406693597523824,
-0.0337048,
-0.1167084490152593,
0.040628730015184876,
0.067519270024288,
-0.0453854,
-0.1991422409257742,
-0.09181639999999999,
-0.07826117869376836,
0.061752600000000005,
0.03771669799429117,
],
[
0.19749430687181418,
0.0500718,
0.4162324427233468,
0.0036407999999999996,
0.348536965758211,
-0.23054810516513552,
0.0399008,
-0.10473250101733611,
0.0628382,
-0.1950888209507553,
0.018549351484069828,
0.09451032403919785,
-0.0300238,
-0.08750637851533405,
-0.0764548,
-0.024468701947657785,
-0.0417046,
0.108401858903646,
],
],
biases: [
0.01047823737412283,
-0.0852907305849527,
-0.06962389306625928,
0.17808607594820142,
0.19673472765183725,
0.2227937862991243,
0.23899732302169835,
0.32784389746929254,
0.3704907760581983,
0.35244790650407287,
0.33974544401985385,
0.3166614762280628,
],
},
}
}