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.003;
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.)
if x < 0. {
-1.
} else {
x
} // */
}
#[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
}),
);
let mut loss = 0.;
for i in 0..O {
let l = (actual_outcome[i] - desired_outcome.0[i]).powi(2);
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 {
let skip = question_mark_res.0[j] > 0.51;
//let skip = question_mark_res.0[j] > 0.298;
if skip {
print!("? ");
} else {
#[cfg(not(feature = "evaluate"))]
print!("{} ", result.get(j));
}
#[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!("");
}
}
#[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.0067487719772802105,
-0.009015941516673115,
-0.0007467274259001574,
0.0063410319221280705,
0.002727979573311874,
0.009815977080198131,
-0.0019152945633162885,
0.005172351429301325,
-0.006559047879979771,
0.0005287509586254338,
0.008797810523665425,
-0.00411441372961224,
-0.007727413303234425,
-0.0006396772707140236,
0.0076296197854085705,
-0.005281995172093803,
0.00298762033529237,
-0.00992401755762791,
-0.00283600375078209,
0.005432390408696109,
-0.007480689547164098,
0.008906371306350845,
-0.004004945004209504,
0.004268130175962042,
],
[
-0.4402116409469384,
-0.2796042138619242,
-0.17578590876494435,
-0.15664367691484946,
-0.145656732403091,
0.024812638980171425,
0.010446766983385512,
0.05145794653273743,
0.027500219239748328,
0.0010958216469275088,
-0.041559675891418936,
-0.05900641134730251,
-0.0777458211935703,
-0.00662436439129592,
0.1203135213262468,
0.23833863561529486,
0.14286029849239398,
0.07380230399370916,
-0.01181485132602488,
-0.22332895209953055,
-0.374491841316699,
-0.2324654134844429,
0.2996782568380241,
2.0095355158048216,
],
[
0.003993144277769503,
0.012083994630252273,
0.0008107275176369847,
0.015402718457167652,
0.0015204617049688572,
0.007243858557731712,
-0.0061779948796893925,
0.0011380235008514883,
0.009466505398456764,
-0.003170285542568127,
0.004951116036548803,
0.00030567782185169403,
0.00838826458765336,
-0.003927089831362108,
0.004689477435268061,
0.011498075726313796,
-0.0036285315078289247,
0.004436494543855681,
-0.006154511817996125,
0.012659004205762589,
0.0033424945787719953,
0.017868026526934404,
0.034615430610340926,
0.0402342600562761,
],
[
-0.006559831209784058,
0.0017088615713023883,
-0.0019040696419069022,
0.005184101510091046,
-0.007728349112989219,
0.0005400312459417156,
0.0076275646421023625,
-0.004103131739530507,
0.0029848078513545644,
-0.00874604819281035,
-0.0016581362650832745,
-0.005271085107613324,
0.0018165410810351416,
-0.009914861915354473,
-0.0028281968589400196,
0.005439492166340288,
-0.007473657542615047,
0.0007950828596733515,
0.007882586108578279,
0.00427010832562409,
-0.008641445649749686,
-0.0003718623299047284,
0.006716266281712858,
-0.005014952068712034,
],
[
-0.009659736803395966,
-0.001390535563748656,
-0.006184403518139252,
0.00208485233419104,
0.009173056142223808,
-0.002557563811057666,
0.00453030888249002,
-0.007200776943671231,
-0.00011311386728052984,
0.008155870266129364,
0.00336169176422297,
-0.008369150661626591,
-0.0012812742400873833,
0.0069880335253331176,
-0.005923728308226437,
0.002345954847201578,
0.00943426493200577,
-0.00229626939756641,
-0.007090220795739443,
0.0011788038673913564,
0.008266352983281348,
-0.003464938101300565,
0.0036222672166223847,
-0.008109662448082753,
],
[
-0.9160979732004472,
-0.6413006894922905,
-0.46062772139142444,
-0.42294831354007756,
-0.26476095535415384,
0.06929436252327437,
0.30182393598872825,
0.49784975483047983,
0.6143037450157585,
0.6386771155475518,
0.600488414713716,
0.6521820518515271,
0.6685181829032788,
0.8508923068067396,
1.0859709529414854,
1.2607960296002032,
1.0021223743017782,
0.5759483534090177,
0.26926338544464273,
-0.04827065045010466,
-0.15013605312501938,
0.1660816982636188,
0.9758542718628944,
2.74447109167583,
],
[
0.004153381416172368,
0.000540738122478393,
0.0076283424723310785,
-0.004103036772047668,
0.0029846408038199457,
-0.008746238225343306,
-0.0016581233306769256,
0.0066111123205606975,
-0.006300625231389966,
-0.009913242090435592,
-0.0028252693784943965,
0.00544403838377329,
-0.00746793302319607,
0.0008014545092430185,
0.00788952855233675,
-0.003841314607141887,
0.0032462551462218454,
-0.00036691444098307897,
0.006720907462657883,
-0.005009654330318323,
0.0020785006175982265,
-0.009652305848751572,
-0.002564687906647745,
0.004521898740442495,
],
[
0.010768567728855375,
-0.0006196912211620042,
0.006611546120372727,
-0.005252205509828025,
0.0017340042748780324,
0.010145435778146555,
-0.002750029062347827,
0.005675629836162811,
0.0010667956826283754,
0.009436039417937477,
-0.003498066774209596,
0.00486807311331311,
0.011986641049309316,
0.00047694123879255603,
0.00781951132139723,
-0.0037573563040879067,
0.011150316304029665,
-0.0019320684719269184,
0.0065672080809764674,
-0.00612880575638734,
0.002513062382187099,
0.010425586394656093,
7.920110547386066e-5,
0.009849095326820233,
],
[
0.007166959846137656,
-0.004373743228908672,
0.002885273489074079,
0.011239047840907101,
-0.0013780259256782283,
0.0072796761666094854,
-0.005463495778758068,
0.01080916620434565,
-0.0022924345223240454,
0.005809510209853396,
-0.007267565498442925,
0.0009260620285794829,
0.007959458175826804,
-0.004896110552224374,
0.00362922874088847,
0.011125783816389347,
0.007868422708192711,
-0.0038397595566182024,
0.0030706335576314945,
0.00983929118580395,
-0.0022109885662241796,
0.00468949885756715,
-0.007122494211243207,
0.0002117672475165636,
],
[
0.0029893448728019233,
-0.008741382922515532,
-0.0016537258261974587,
0.006614957215267292,
-0.006297353098024231,
0.00197204847828953,
0.009060133448906793,
0.005447524504308856,
-0.007464754025186615,
-0.0003768972119963152,
0.007892100488948046,
-0.005020049699900585,
0.0032491470399957684,
-0.00966290005189263,
-0.0013933583257512226,
-0.006186861455735419,
0.0020825111521618417,
0.009170036568056032,
-0.002560915288454482,
0.00452683093820335,
-0.007204203065642291,
-0.00011641810030086697,
0.00815285720501962,
0.0033595327541565763,
],
[
0.0005093803415705951,
0.007655496130170697,
-0.004108724009658425,
0.004011290578637168,
-0.008844532653869013,
-0.0016018977829202982,
-0.0050199526495577455,
0.0021893053777092683,
0.01064478158180916,
-0.002193797521471199,
0.006110711851272066,
-0.00673646134545876,
0.0015985831279196397,
0.008786179849232044,
0.005311151510519923,
-0.007531101339339931,
0.0006336856567146904,
0.0074441138312307965,
-0.004487325906020422,
0.0024383093571762795,
0.010509446665538397,
-0.002655405743454857,
-0.006637810608593419,
-0.00016492139703391253,
],
[
-0.0032005254212043102,
0.0038875276109758402,
-0.007843388331960568,
-0.0007558828331490123,
0.007513556010839206,
-0.005398114957713327,
-0.009009289449323882,
-0.0019213273769157996,
0.006348218107712107,
-0.00656377254495488,
0.001704024797374833,
0.008791406694788232,
-0.0029401429704019842,
0.00414830791263843,
0.0005367786456880137,
0.007627028222275071,
-0.004101418684292886,
0.0029881472496888105,
-0.008742097626011152,
-0.001654961956437761,
0.006610982800513007,
-0.006301551560396029,
-0.009914835958220961,
-0.0028270611040024187,
],
[
-0.006101531292000163,
0.0010238737058036627,
0.009332307837806494,
-0.0035615283428752143,
0.004759429921061856,
4.0991989127277176e-5,
0.008333816822122146,
-0.004604174772649349,
0.003627615320018973,
-0.009313206185989025,
-0.0010707826806460488,
0.006007791069432291,
-0.00573519434387467,
0.009486559918130383,
-0.002185809055490457,
0.004988802593874447,
-0.006674702732926355,
0.0004284858032484822,
0.008673453377265192,
-0.004303583941149185,
0.002721319432219884,
-0.0009171287303415905,
0.006179565354764966,
-0.005443192991070712,
],
[
0.009743189641281463,
-0.0019972164744890813,
0.0062776045359556176,
-0.006616884061002369,
0.009786955919147845,
-0.0031279005062437074,
0.005110769691380802,
-0.007879687095605025,
0.0002993076705800857,
0.007333977626958383,
-0.004433057500977352,
0.002624229372458467,
-0.0010075991197198567,
0.006059428107254501,
-0.005661343700077104,
0.0014858081499658248,
0.008686429013993502,
-0.002956826101892588,
0.00417715262368302,
-0.007523733763967391,
-0.00042493085693350187,
-0.004045522856495935,
0.0030147862611650932,
-0.008780682005029235,
],
[
0.012540354738642434,
0.001220441434214254,
0.010211102380237263,
0.01800271030361982,
0.013069776974417757,
0.0012877399137948017,
0.007098734309948663,
0.014053491720987172,
-0.0007444443738946325,
0.006611205674649876,
-0.007100516225496301,
0.0005978174040189912,
-0.0047416608082976,
0.003332324339740653,
-0.009323701012594011,
-5.419952685191973e-5,
0.008220728272565057,
-0.0017925672139233598,
0.00664484771238929,
0.015527695505486511,
0.011901423538952315,
0.00287822883054123,
0.014742849684183988,
0.03237532826166422,
],
[
0.003250507934829412,
-0.008480567881298398,
-0.0013932095831791606,
-0.005006360609509606,
0.002080950223313738,
-0.009650651758423699,
-0.002562675491157452,
0.005707083209302897,
-0.007204155398945533,
0.0010652855717031885,
0.008153329262244026,
0.004540685084325847,
-0.008371291174355493,
-0.00010218590183267218,
0.006985055530518959,
-0.004747069783888805,
0.002339323421256749,
-0.009392737768461393,
-0.002305067136069269,
-0.005916855899598713,
0.0011721389396551877,
0.009441962845043991,
-0.0034703583380457665,
0.004796534842732844,
],
[
0.0006159698663645284,
0.008819017217566562,
0.003927397188141481,
-0.007892038720379614,
-0.0008992901912881427,
0.007247435584919224,
-0.0056242230998333875,
0.0028022430497615125,
0.010131104032836985,
-0.001487240376253573,
-0.0061608344255092975,
0.002177854584842318,
0.009323908320324077,
-0.0023913108852460494,
0.004582622838312554,
-0.007403614755131472,
-0.00059132887293584,
0.007488261900916045,
-0.0054776367925713125,
-0.009020212252406646,
-0.0018857589671499567,
0.006295401674229926,
-0.006878492209808285,
0.0007718988462057997,
],
[
-0.0025047046530844875,
0.005777617906781423,
0.0010068482858716255,
0.009304943133970343,
-0.0034953651410870716,
0.004890823915391824,
-0.00794239088195561,
0.0003028189144616159,
0.007358744951707317,
-0.004403888144415967,
-0.009232182335525,
-0.0009817810830462217,
0.006107209667598983,
-0.005619758162010113,
0.0015211896714450333,
0.00988403050285581,
-0.0029119406899169257,
0.005361649689429468,
0.0004901193011046513,
0.00865600700071092,
-0.004390828048955527,
0.003706149895184082,
-0.009445498513298756,
-0.0027148212506340717,
],
[
-0.006040602563831603,
-0.009652774797272095,
-0.0025643745343829224,
0.0057049894921712765,
-0.007205791714211303,
0.001065078663059865,
0.008153432362591792,
-0.0035784478424994303,
0.003508270594073361,
-0.00010515190782691028,
0.00698211718039295,
-0.00474882756567859,
0.0023389883981014417,
-0.009391587914172652,
-0.0023021545005088564,
0.005969530640863498,
-0.006939979321960846,
0.008267273854094457,
-0.0034634622178433615,
0.003623265959788222,
-0.008109104121486212,
-0.001022437402224277,
0.00724575955397404,
-0.005666748749207864,
],
[
0.0016381977327337193,
0.010155771956429116,
-0.00021736852476031727,
0.00870384360814227,
0.018238071698058095,
0.009570793694038678,
0.017821327966450713,
0.004670075933677287,
0.009880945778118105,
0.004788451583123042,
0.010486714027993293,
-0.0018215080824480112,
0.004875967105170839,
0.012411992905108495,
0.0029491381608620386,
0.013756575322045234,
0.025533155101298388,
0.021633999548470728,
0.008881534189277035,
0.013673051630781531,
0.019363173219912093,
0.0046242388369501924,
0.011603620590579056,
-0.0010355071214290838,
],
[
-0.0037529799037960662,
0.003341503035495387,
-0.00839358093330085,
-0.0013240950874952692,
0.0069102080711016855,
-0.006023591457893597,
0.0022185273280404417,
0.009290547702173852,
0.005660269842998217,
-0.0072581957878399776,
0.000999291901663826,
0.008078875491962303,
-0.003662152471867336,
0.0034138583269940543,
-0.008315982789677878,
-0.0012196886484497898,
-0.00482807571344452,
0.0022756011086127966,
-0.009415867562783545,
-0.002290345273952752,
0.006021911386073971,
-0.006831702883779548,
0.0015079299795333423,
0.008687991311200814,
],
[
-0.00613459690840791,
0.0013573935187992736,
0.009665225931516832,
-0.0036816464376580992,
0.0043462948751504405,
-0.008388374067968163,
0.00012940959727479175,
-0.004177082902420932,
0.0047177189436099125,
0.012089263051667236,
0.00046119052801742855,
0.007771147713697979,
-0.003838250668003488,
0.003624981904268701,
0.012254903080818452,
0.0074621064822213996,
-0.005125314204877196,
0.0010137216485519025,
0.008978493949452987,
-0.004153977636182362,
0.004069926447975764,
0.011598513517544987,
0.0007962379371797968,
0.009928706718282606,
],
[
0.009802733964396751,
-0.0031088623872492383,
0.005161377785942385,
-0.0077501772752416875,
0.0005197007358761322,
0.007607587231323124,
-0.004123878946766175,
-0.00891848681886275,
-0.000650496757943501,
0.006435901769311079,
-0.005295238386528241,
0.0017925949906671056,
0.010061395647685557,
-0.0028506314258020184,
0.005418407564006156,
0.000625040848303313,
0.008895338731978583,
-0.00401603395183985,
0.004253472201476268,
-0.008658882302040358,
-0.0003903162883724409,
0.006696815580418093,
-0.005034003733757731,
-0.009827118826947132,
],
[
0.014969922069268431,
0.002351092705695416,
0.011463087707571614,
0.019597859793847115,
0.007556693279949167,
0.01415893131750073,
0.008612140807876086,
0.01393730965534679,
-0.00020564188502606123,
0.005746898932288544,
-0.006926466903087322,
-0.0005943946068253411,
0.0069709835456324,
-0.006362451012424103,
-0.009966542798332999,
-0.001998018245281938,
0.007722044170522081,
-0.002698543459665374,
0.007595777459940111,
0.01577139700598847,
0.00450738941951202,
0.016007759741469917,
0.01675097748040862,
0.03571725228253765,
],
[
0.002346276585875934,
-0.00938506411624464,
-0.001116037422739944,
0.005972349754056043,
-0.005758416499349548,
0.009446924082276487,
-0.0022840456310724393,
0.004803863556060347,
-0.006926963447673079,
0.00016072015280332164,
0.008429812197221472,
-0.004482643516518664,
0.0037863218300088907,
-0.001008255520583663,
0.0072597948752689484,
-0.005653706550442093,
0.0014333504821125059,
0.00970211234833344,
-0.0032105186865532464,
0.00505900801515736,
-0.007852389477495598,
0.00041706556940720714,
-0.00437721505730657,
0.0038897691675959453,
],
[
0.010615942504723353,
0.019977158263597382,
0.009913547569386328,
0.018262161215735543,
0.005233408522919123,
0.019416917603321954,
0.003985837737742919,
0.008384972628022926,
0.01299412310208953,
-0.0015578300279081995,
0.004023339354412994,
-0.008685154876481445,
-0.002758542886684269,
-0.006579371293983076,
0.0010098471261321634,
-0.009014536028563211,
-0.0003711777382187921,
0.011881072704138334,
0.003202069674356127,
0.014144647459550035,
0.025285629178959806,
0.029702939617666405,
0.03006710899444531,
0.06346734973804466,
],
[
-0.0037930804507786105,
0.004472306272822957,
-0.00844190431322784,
-0.00017685483074053167,
-0.004976956918437136,
0.00329170102726572,
-0.009628206664104251,
-0.0013672629730580557,
0.005713118284544462,
-0.006019763754813481,
0.001069555031079179,
0.009337727482900812,
0.004544150182012927,
-0.007188946939493383,
-0.00010016422589213224,
0.008170308679059468,
-0.004741764134620203,
0.003531585036935028,
-0.009376672847505093,
-0.0011028740640531233,
-0.005889611747029943,
0.0023883725163145377,
0.009487005228960168,
-0.00223575305209484,
],
[
-0.0068009308214848,
0.0014613364862451142,
0.008540547571009454,
0.0049215882744495145,
-0.007991590348935188,
0.0002709467308223005,
0.0073627449443596435,
-0.004360953016794985,
0.0027403760045634036,
-0.008987226400528596,
-0.0018964348886285442,
0.00637311879618224,
0.0015865465297307756,
0.009853298689392808,
-0.0030701936062791087,
0.005181219940839802,
-0.0077391722230193616,
0.0005222616573576667,
0.00760350357969615,
-0.004118264684553834,
-0.008912422302018603,
-0.0006671458569657413,
0.006369535398068527,
-0.0054710414585986585,
],
[
0.008648896676910581,
0.02791414422034591,
0.08859643479550144,
0.12412385910206299,
0.10065256431500436,
0.09560280244195997,
0.029892731618542296,
-0.023962896772542125,
-0.1120745952304271,
-0.13511857238624847,
-0.18470701599178901,
-0.21387119875737406,
-0.2349982480854608,
-0.22448860811926635,
-0.20806449903715907,
-0.14695503793278372,
-0.13076261611920514,
-0.1000969039910278,
-0.057179156624312555,
-0.07198692485442747,
-0.0010489760655790937,
0.21292037927724314,
0.653806213178783,
1.5063111752349279,
],
[
0.031178950643396416,
0.028985004457544306,
0.037345941936849744,
0.056574115858654975,
0.07456115320120195,
0.07864518030271811,
0.08202833755728355,
0.07442773143211968,
0.035762322369178194,
0.029261847783871395,
0.01127027104233938,
0.011425215087926764,
-0.008284877417120973,
7.073563835394866e-5,
-7.942429913583125e-7,
0.03430413125163473,
0.06606150524255651,
0.06883200787776002,
0.0848680702883642,
0.06096518860666329,
0.0618838085405057,
0.06450349903105658,
0.11041869423341434,
0.2118470465056814,
],
[
0.008689115159725444,
0.007252206814402646,
0.016001106728573574,
0.004472371905310905,
0.011429983641271069,
0.001185415864654127,
0.007771566458262114,
0.015527479966128478,
0.0013000818660741451,
0.008778683771063528,
0.002803065364911362,
0.010719457459151123,
-0.0026257780486738627,
0.005439783898233428,
0.015771509799335066,
0.005243949858003487,
0.013305650860725325,
0.02001334154063803,
0.016981520717126077,
0.003927336711156046,
0.013717874248731183,
0.026488186306533247,
0.025610385687750637,
0.05454481965318078,
],
[
0.0008742931587496195,
-0.0027529830978460096,
0.00432188958967254,
-0.007444402805573569,
-0.0004107845025642547,
0.007835962594982347,
-0.005121352004722074,
0.0031112266942188724,
-0.009847659269864,
0.005358911146366497,
-0.006375171469835023,
0.0007078078799317319,
0.008976912538559749,
-0.003944854126723832,
0.004345386041339576,
-0.008527722417401582,
-0.0002246622294991896,
-0.004962815947853024,
0.0033925819320011663,
-0.009453233341372994,
-0.0011096524634920902,
0.006060302347640907,
-0.005582439831933173,
0.001602729914864539,
],
[
0.005636636274125124,
-0.007272701281544446,
0.0009981971378827334,
0.009274480215517618,
-0.0036279035883930466,
0.00346570949537975,
-0.008258809062533396,
-0.001167001455465047,
-0.0047728565549255185,
0.0023135565437105233,
-0.009419368515731448,
-0.002332387678440464,
0.0059342443987338254,
-0.006977547537439142,
0.0012858731091729939,
0.008367798194095418,
0.00475276598746425,
-0.008164833866300658,
9.548200194870544e-5,
0.007174220486623154,
-0.004568660901908475,
0.0025077066722285217,
-0.009235894034286301,
-0.002161398205987697,
],
[
-0.426359795729781,
-0.3486172654796625,
-0.34502886512043884,
-0.38361796987371977,
-0.3068240030062181,
-0.17589368935376684,
-0.011634877864997777,
0.07457709999067362,
0.19853824207062062,
0.25057176335324716,
0.27100285745368596,
0.2938474076412198,
0.342511509878834,
0.40710005212827843,
0.4735795572969619,
0.49891377651761576,
0.41538144300163227,
0.22201122413323243,
0.05482877976042672,
-0.029479695185834917,
-0.12209655855264087,
-0.1959047861881739,
-0.32412882759466816,
-0.7083882091596987,
],
[
0.03023183613315922,
0.03966283881365867,
0.032333115654690416,
0.043301236130618245,
0.027101375919803636,
0.030277215841449955,
0.02788630770231804,
0.016800905433103454,
0.01554332469878217,
-0.001144276890491094,
0.00347836038911226,
-0.012128229529004182,
-0.007061586411066565,
-0.0008969966799114949,
-0.012378367622379422,
-0.014603186590435281,
-0.004707333353647378,
0.011451486121988338,
0.009722723266462367,
0.022227979149274428,
0.04038776849925003,
0.0489382919889824,
0.09425737335011357,
0.16134005097994567,
],
[
-0.003564808111237445,
0.003522086448953556,
-0.008209200903667339,
-0.0011215145161433935,
0.007146991240569476,
-0.0057659313286486545,
-0.009379257136742784,
-0.0022914540257980257,
0.005977189711691422,
-0.006934699253447945,
0.001334726128972041,
0.008422394307314954,
-0.003308741676274009,
0.0037789958666297253,
-0.007952792601899017,
0.007252046119442542,
-0.0044796024076231905,
0.0026080420817077375,
-0.009123160981352843,
-0.0020353396170508515,
0.00623358826472613,
-0.006678253161729635,
0.00041076405492171164,
-0.003198912797561043,
],
],
biases: [
-0.008655163153851498,
-0.7248754271980155,
0.009342769090365646,
0.0020760186328014968,
-0.0010197138303788941,
-2.3531571633637816,
-0.007207071164573149,
-0.0026208758657916037,
-0.0046417819488379555,
-0.008374693360022901,
0.009749628172350575,
0.005451727321903636,
0.001217879289375456,
-0.0015295473593428261,
0.000639154297595236,
-0.008109444984067144,
0.009465841784315943,
0.006518042076081579,
0.0025969313061026495,
0.0023341374348856414,
0.005334387581473894,
0.0028942349224484964,
-0.0027574560618362854,
0.0010812260450943317,
-0.009013898296146758,
0.01385228907402281,
0.005013236635576015,
0.0021476571355992717,
0.28723594572557004,
-0.013942663327222618,
-0.00600632524701565,
0.010368081567977664,
0.005964313612005118,
-0.31433714652347844,
0.03021770369646507,
0.0039195770103683395,
],
},
hidden_layers: [],
output_layer: Layer {
weights: [
[
-0.006600699999999999,
0.4009716269150944,
0.041804630028521916,
-0.0030141501163711924,
0.004113100000000001,
0.06032614443590312,
-0.0005300000000000005,
0.0068077278565897995,
-0.017240777150719658,
-0.008810608582892324,
-0.012772607305065303,
0.0033669312534283535,
-0.010059059052220912,
-0.01664041574696903,
0.035398162781726195,
-0.00271516,
-0.010406259620096898,
-0.017526194154022703,
0.007515902976355121,
-0.04385554785071929,
0.010573408229984753,
0.003946557519635016,
-0.0030515797645716504,
0.03364175385853966,
0.002036500000000001,
0.040505574346963454,
-0.0029567447186257764,
-0.0052904350776738366,
0.31137465718270274,
0.0005906302176090771,
0.0224455978844152,
-0.0025907976893175234,
0.0005821908012837316,
-0.17091090390426159,
0.07636259411927403,
-0.006722509589807376,
],
[
-0.00943488,
0.39240114760160855,
0.041363465654194825,
-0.005847261525681237,
0.009397059999999999,
0.058707322997241046,
0.004753959999999999,
-0.00507232057660359,
-0.016055857135524015,
0.007184795211157324,
-0.016071748324878857,
-0.00037729471851064917,
-0.0033171101179684873,
-0.009837595964402573,
0.024940495138994382,
0.0013874800000000008,
0.008479996092451215,
-0.019714109481260605,
0.004692388549319309,
-0.041147877050887294,
0.01669791801367498,
0.009749549431183464,
0.0035296033344438334,
0.023218045852919082,
-0.0007976799999999995,
0.041218093524398515,
-0.005122844042939915,
-0.006916248431831337,
0.3083604729916763,
0.01895404654918386,
0.012598581063694894,
0.0047940946838990845,
0.006972450953718228,
-0.1610193618646811,
0.07752345527029182,
-0.009544891152607359,
],
[
-0.0053322199999999995,
0.37901992309755567,
0.025348939068638637,
-0.0017461442072543678,
0.0053815799999999995,
0.05626077204958955,
0.0007384799999999992,
0.0015309559600556715,
-0.0072588413177951065,
-0.007500476795566111,
-0.012496734294609265,
0.005242134709523819,
-0.0054570944853659506,
-0.01146072764418033,
0.025985751553669667,
0.00667144,
-0.008559306617967364,
-0.010960139031073918,
0.008808013694785928,
-0.02552964174106409,
0.012845163136321456,
0.0051150411781139314,
0.000230486596744525,
0.04516933955166616,
0.003304959999999999,
0.03144727769304794,
-0.0005831782369659285,
-0.0023413119985062412,
0.29700458157383497,
0.03439150316591439,
0.032385044320758026,
0.0027404108644813892,
-0.008304861124499944,
-0.1431602799980331,
0.08474762835683089,
-0.0042195733719607815,
],
[
-0.0081664,
0.35927444189640184,
0.03889644767188363,
0.002363054793902564,
-0.009334480000000001,
0.05497944579618005,
0.00602242,
-0.002634428868803603,
-0.005788978009503435,
0.008491329537608191,
-0.016470197073444794,
-0.010210736150712368,
0.0022863674927164363,
-0.006540748978942102,
0.0345702316628151,
0.0026559599999999993,
-0.013869896036850803,
-0.011614993802138384,
0.006020024246938723,
-0.010265431300867987,
0.01697351827703756,
0.007242251095987495,
0.0058204165798245566,
0.03206405567318578,
0.00047077999999999953,
0.048707254472662595,
-0.003112886306654796,
-0.01917206127951576,
0.27976179073885105,
0.05553205759280679,
0.021359543220630654,
0.006169313478739352,
0.008134457937143453,
-0.1219998394037314,
0.07762901499959424,
-0.008162554853528235,
],
[
-0.00406376,
0.34206010165176837,
0.018060530160364695,
-0.0004693162950353966,
0.006650039999999999,
0.05580039459083003,
0.002006939999999999,
0.0034491934688086925,
0.003067450302390163,
-0.0061689424547395335,
-0.013334241481117533,
0.0074351974974978,
0.0010416897147276507,
-0.007536758370468768,
0.03168651850392423,
0.0079399,
-0.01177395629775066,
-0.0024758211775699583,
-0.009847655663383153,
0.0006620121083527826,
0.01164143263222741,
0.0005793481626604012,
0.002004480813648773,
0.03925158622841769,
0.00457344,
0.035201024175491244,
0.0021665460306451766,
-0.0022091480643731676,
0.2526204883047037,
0.0735041991028979,
0.02138906919859098,
0.012567721151607748,
-0.005422427353973048,
-0.09494599959494412,
0.07843312575216145,
-0.003995751283753463,
],
[
-0.00689794,
0.3222173489929092,
0.015398239798011812,
0.0036436204906905374,
-0.008066,
0.059360292982076505,
0.0072909,
-0.001578572432678177,
0.0037403277141769315,
0.009845919451480214,
-0.007896094427767484,
-0.007827312268128618,
0.007183689997398145,
-0.0008161324235065521,
0.03183205927797238,
0.00392442,
-0.016023906774576116,
-0.003096109832102547,
-0.004503283326294564,
0.015808977190912597,
-0.004174046366502241,
0.00010674999374441502,
0.006979431903849853,
0.030303799665657185,
0.0017392600000000003,
0.045245761463941034,
0.0003199021927101662,
-0.01858749116004474,
0.21304363893342063,
0.0808724499491204,
0.025991508779800294,
0.011257836452334477,
-0.0075294313889735605,
-0.05760947884445192,
0.05891556688929519,
0.001470079273388113,
],
[
-0.00279528,
0.30286156048969365,
0.006943681926449271,
0.0008184566356912659,
0.00791852,
0.06575513218018697,
-0.00860646,
0.004158804085789176,
0.0099613988839681,
-0.004832901070784801,
-0.010165225457501082,
-0.010487735882134313,
0.002446934405253595,
-0.0009085348382243666,
0.02863753294382505,
0.00920838,
-0.011719018942537648,
0.0030232458519320687,
-0.008478799270827024,
0.017687292726958473,
0.011551150589468632,
-0.0026199870046867513,
-0.008805712840838318,
0.027672413369579735,
0.0058419,
0.023218102997370153,
0.004738014388668353,
-0.0006786596692932303,
0.1754821683829894,
0.07055552749929411,
0.03017467975224828,
0.016363237658178452,
-0.001178960048213794,
-0.026770471939173486,
0.029999026422761997,
-0.002466548842527135,
],
[
-0.005629459999999999,
0.2755077879047178,
0.009647188763500335,
0.004925514144004227,
-0.0067975399999999995,
0.07242736636698659,
0.00855936,
-0.003427978772466273,
0.004719449581499933,
-0.008934245881960502,
0.0031763345907934695,
-0.006176936741819704,
0.0015225766462458644,
0.004217628188580906,
0.009166263811253765,
0.0051929,
-0.011648851519603003,
0.0007657038299254417,
-0.0031732681834717004,
0.01220305170263209,
-0.0024041829062378993,
0.0021040167629156757,
0.008977623238636963,
0.006245363173990407,
0.0018264199999999996,
0.00925201853130379,
0.009439472492590455,
-0.0127807583320256,
0.13638598044863146,
0.05162781625708176,
0.015172124859823487,
0.014925153156134185,
-0.0033219708708494694,
0.012153162032680832,
0.021143250491056396,
0.0028593739124644435,
],
[
-0.00152682,
0.24761092646014862,
0.012448885747980422,
0.002091228826618488,
0.00918698,
0.07811017839549692,
-0.007337979999999999,
0.0110295234298473,
0.01052282790413822,
-0.0037662645951196164,
0.0007163764649701139,
-0.009125969029705644,
-0.00019139663057735987,
-0.007851534276592067,
0.008526827370646145,
-0.009523160000000001,
-0.005029934969391822,
0.002089880078799794,
-0.007191189030491138,
0.006813483846368742,
0.012472592631646321,
0.020403643134353597,
-0.005873175498131799,
0.00534962137111417,
0.00711038,
0.006762613581766976,
0.005589433733173534,
0.006697291662048726,
0.10339175521202192,
0.02110748847187925,
0.023933212047697043,
0.014136416790006953,
0.0001270638583951154,
0.04760483692930967,
0.005388162799679351,
-0.001142865398736948,
],
[
-0.004361,
0.22989400399379345,
0.015360320537970883,
0.006197074780998163,
-0.00552906,
0.08284510627685711,
0.009827840000000001,
0.0028941442096227727,
0.004651051179563125,
0.00028825855617465814,
0.011204024978439616,
-0.004968377213840552,
0.0016911697903543223,
-0.01154212555014349,
-0.004656965916678385,
0.00646136,
-0.005998838122265477,
0.008189679954820615,
-0.0018990815809798078,
0.0050545213875827335,
-0.002200291811762006,
0.015059727854001967,
0.010966460244820994,
-0.008952463354109126,
0.0030949000000000003,
0.006340637798490578,
0.009298297227987477,
-0.004596251472755137,
0.08098055846358505,
-0.002891889221943058,
0.011787446944025722,
0.011664062794319249,
-0.002850440750160579,
0.07044781194565232,
0.005013328162852987,
0.00415816067873673,
],
[
-0.00025834000000000024,
0.21513988866034287,
0.0160105574656233,
0.0033650740782066564,
-0.0014264200000000005,
0.08446081094481059,
-0.006069519999999999,
0.015331711741491305,
0.01163854118912485,
-0.0025680431719255267,
0.006532956228093858,
-0.007748037685595783,
0.0013371259931773446,
-0.003939608146966541,
-0.0003642808239051814,
-0.00825468,
-0.0018589386869147584,
0.0032380319303495783,
-0.005917223373645177,
0.005398955177504525,
0.012585786826808285,
0.028511127181817742,
-0.0032523857811971417,
-0.006082463300908613,
0.00837884,
-0.0011861067885717983,
0.00630123423343591,
-0.007000490337806765,
0.06422578299583975,
-0.009067324157814296,
0.023974169783966034,
0.012887169099835848,
0.0013542622048489078,
0.08494586047079393,
-0.0049214195220845195,
0.0001584405781134945,
],
[
0.005025599999999999,
0.20356025327898022,
0.01748931852554728,
0.007469336273811534,
-0.0042606,
0.08649923135280911,
-0.0089037,
0.0059072270861110195,
-0.005389167810846234,
0.0015001770029582709,
0.015408295445665741,
-0.00331940208380573,
0.003538446137380493,
-0.008085103347248363,
-0.00722215232915061,
0.007729839999999999,
0.004889643488989152,
-0.009689004052066382,
-0.0018042456756641489,
0.0063897497406507735,
-0.0025290399600266613,
0.01916121579029669,
0.012976890056225723,
-0.013051306268406563,
0.00436336,
0.002805762995651189,
0.010398986232438583,
-0.0005181624240248137,
0.050206417588519646,
-0.015388847111687315,
0.012963786246937642,
0.01181151604181055,
-0.0014870201969071884,
0.09734334481996773,
-0.0018100864330977923,
0.00548010350299779,
],
],
biases: [
0.05752995498232788,
0.05459766880496461,
0.05235759969256359,
0.05267326249310192,
0.0594152406978019,
0.07860089007798052,
0.10974759631845604,
0.14549201496375,
0.17914789264049272,
0.20387913447624778,
0.2167655182839217,
0.22755305334156448,
],
},
}
}
pub fn get_question_mark_network() -> NeuralNetwork<36, OUTPUT_COUNT, 18, 0> {
NeuralNetwork {
input_layer: Layer {
weights: [
[
0.490543425586734,
0.40325887785261877,
0.36351522475249765,
-0.2207618715511705,
-0.3938878546498854,
-0.8167060150824849,
-1.2098592623920554,
-0.9262153459143743,
-0.5114383354090553,
-1.176084020131589,
-0.9785825446177374,
-1.3463890362920035,
-0.8323254890771108,
-0.35648636601388095,
-0.058703408184882816,
0.4542798011431502,
0.013941888557451236,
0.06969861206834846,
0.33583802583778116,
0.35388962778164074,
0.6819292061282671,
0.2893385996141487,
0.868203670579321,
0.9909952189474954,
0.572239782755332,
0.44462523424832173,
0.515219564121671,
0.5477162820886472,
0.34245716691921807,
0.27941278532909114,
0.005535629049800074,
-0.07236736054620682,
-0.2310654892410129,
-0.2529268085912041,
-0.42025832481910663,
-0.4004758292655579,
],
[
-0.05167328224475065,
0.019738941062404144,
-0.09624140684894196,
-0.024740354456574222,
-0.060650454915202934,
0.010655410791419663,
0.09496834094517051,
-0.03357379566103968,
0.050734182144713466,
-0.0786437126155452,
0.004395999432762782,
0.074913875984199,
0.03911472919088994,
-0.08898773333818698,
-0.006752258220440267,
0.06324733917472346,
-0.05648648311663541,
0.014436048015071772,
0.09825509272215059,
-0.029703874984457597,
-0.06637720348023093,
0.0034466802994570795,
0.0847349642397119,
-0.04593160537360581,
0.037737004449201826,
-0.0914044523919907,
-0.020500139965115866,
0.06230375313085105,
0.014620807847889796,
0.09777342366288223,
-0.030794854527915513,
0.05247441290116556,
-0.07614720563396662,
0.0069061322153157675,
0.07799848522013121,
-0.03912155074910087,
],
[
0.05913928093061973,
-0.06757702258627783,
-0.08353136287651773,
-0.15253829544181752,
-0.2538096733971799,
-0.04310553431230006,
0.101782566901022,
0.2967870491275404,
0.5134690954624429,
-0.07321072920250878,
0.11490422171122489,
0.21656454249090185,
0.35658795012106226,
0.2750603620008691,
-0.00332220284665584,
0.3044972123985252,
0.5093622868230475,
0.5932529325235595,
0.1983282943619139,
-0.31695683644696543,
-0.7262220698260357,
-0.8893059502113588,
-0.6832953761318107,
-0.581880624642591,
-0.5242149993958284,
-0.641398890714903,
-0.554066231485651,
-0.6413221293054725,
-0.5121811146316149,
-0.32209851385576554,
-0.3295614620787612,
-0.10965238344897132,
-0.03566968340280646,
0.12911698015703893,
0.05838180428226669,
0.1836547003224281,
],
[
-0.036476864678279784,
0.04625451846598311,
-0.08512161311396636,
0.07798164208586837,
-0.05177067995383928,
0.031871787721184326,
-0.09566317728203066,
-0.01481694904969048,
0.05384742350359365,
-0.06373322528485653,
0.006188227381027213,
-0.04154824585929064,
0.04106380195367303,
-0.08916319331881269,
-0.004970273381911007,
0.06891556876927406,
-0.044428017852792843,
0.02512437831045141,
-0.0947084912828345,
0.05612762062096908,
-0.060437650185159765,
0.011925610508051817,
0.09500888455760406,
-0.03305273268027999,
0.04886300688429731,
-0.08024244583863312,
0.002431747190930428,
0.07323070221144465,
0.03690157298908782,
-0.09262869376290807,
-0.010464299594956202,
0.05982921157424229,
-0.05801036126011136,
0.0124891378194886,
-0.1050347029575124,
-0.03434056028005679,
],
[
0.09615046062179036,
0.1530214669478296,
0.020406234265597713,
0.04462650045149591,
-0.13146058635768093,
-0.11793434725167405,
-0.08384443261296935,
-0.17115052667397884,
-0.2957669130745202,
-0.2480875458984229,
-0.1798531933513985,
-0.3371962412056784,
-0.23909918075953587,
-0.13082268681208356,
-0.23022714645329842,
-0.2416261919272885,
-0.1754309716940599,
-0.1280312335370324,
-0.21982476099783493,
-0.13015206646768068,
-0.2228649445278991,
-0.09947299666050873,
0.0962530656170983,
0.10077336436719408,
-0.0664661472361267,
0.0014207996094085017,
0.08135618264677758,
-0.05488099176871361,
0.009342919537983708,
0.06161098744928446,
-0.09144931897031329,
-0.166124819577932,
-0.11017004819097868,
-0.06456399800287319,
-0.18397927447124376,
-0.12422299943399527,
],
[
-0.824059038313555,
-0.6750899360496646,
-0.7604619877435114,
-0.4502850434577181,
-0.28320012370993486,
0.10842544713026535,
0.15673072935040674,
0.34019272990088356,
0.26787042689610874,
0.26568363421744473,
0.34904844846052474,
0.45844231620747483,
0.3960995249796731,
0.04558440719623584,
0.10556951607669512,
0.13435645719207825,
0.29770507158896614,
0.7050909152362803,
0.7287604515834886,
0.9673499342378269,
0.693635325840167,
0.3629332622080109,
-0.5563106917645035,
-0.9100479514952612,
-0.5398486182482902,
-0.6294017995281541,
-0.5477055919979311,
-0.5595708993216504,
-0.41126374948385924,
-0.5038484083014702,
-0.2707516561922544,
-0.08752999872484749,
-0.09349646541639893,
0.12079468796861242,
-0.03592242197786984,
0.18048084840910344,
],
[
0.02965268482595245,
-0.08742144760803244,
-0.017411006371009192,
0.06532255457635801,
-0.06265513933299918,
0.020103680056219743,
0.09092967951691297,
0.05231937336248205,
-0.07841801655783583,
0.005155964217580813,
0.07651646504750005,
-0.04064226904869603,
0.03073597081267533,
-0.08684409370920672,
-0.016012076002099772,
-0.05022354842649624,
0.02302168647156229,
-0.09383792352293417,
-0.02446274633529402,
0.05685159907292763,
-0.07341368945245777,
0.008994478611304101,
0.08003118801461515,
0.03246396586328427,
-0.08568780034154556,
-0.014772450888810958,
0.06798274090396787,
-0.061093672043693356,
0.02160728817184729,
0.09242629398345605,
-0.025023924267495026,
-0.07313142063013658,
0.00940049928286823,
0.08015404160679206,
-0.03719853855449475,
0.033631791898162886,
],
[
0.01723601703825148,
0.08564499608334919,
0.05319200466189385,
-0.07922691289618308,
0.0011198360706360208,
0.06749817290880367,
-0.05590934263807645,
0.009990240276439176,
0.0950487102533117,
-0.0343790834391142,
-0.07510420074023888,
-0.008901572208716464,
0.07438288918280292,
-0.04984940248446968,
0.030113304486642255,
-0.10257901377273762,
-0.02789330000583168,
0.04624446067156482,
-0.05612876514979989,
0.10525432604755754,
-0.012877276622999046,
0.05238210879970185,
-0.06220988085846778,
0.0024959704403279656,
0.0864590423466226,
-0.04249229524781537,
0.03998611062782632,
-0.007769656924326184,
0.07407838180362808,
-0.056437525868287555,
0.02494683756613483,
-0.1056479781829556,
-0.024045575754112522,
0.04604286233727222,
-0.07143565764967082,
0.0801311775640899,
],
[
0.04203769398868485,
-0.07491743698606827,
-0.0035929555119930106,
0.07909230335212064,
-0.05009801015659124,
0.032721626089698266,
-0.013992183639538504,
0.06841074946523462,
-0.05970841299605171,
0.023045502993237828,
0.09442511100278173,
-0.023100253115882548,
0.047915137578379736,
-0.06907798488169355,
0.08241166067943036,
-0.03477530809009889,
0.0350337563543643,
-0.08241326219400313,
-0.011456614318850488,
0.07194535519794765,
-0.057920824691853494,
0.02412249214934484,
-0.02474964529336854,
0.05702902946476706,
-0.07148063115552097,
0.011205219541986678,
0.082120079819614,
-0.03509403515751277,
0.03597795420668567,
-0.08100565783735116,
-0.009757521125262061,
-0.045503911369080545,
0.02570051576690489,
-0.09137480396761206,
-0.020350433717964966,
0.062467515287193805,
],
[
-0.1291559280765548,
-0.046169932771437466,
-0.09033520932924578,
-0.19446536265710412,
-0.09767041979141665,
0.030759426541998217,
-0.051713185537837596,
0.07150105901153611,
-0.0296150443425262,
0.0799523511345946,
0.0471372238236901,
0.14276971262559504,
0.2175616469273392,
0.09420003466056774,
0.15861721099273493,
0.032669021740535174,
0.08404869197072609,
0.1352991189643185,
0.047421155738247955,
-0.10006081405141215,
-0.052514400249926804,
0.0009107620530759345,
-0.16443383608263415,
-0.10358792326426129,
-0.20423693876039822,
-0.12160993528989682,
-0.16739698396806807,
-0.07917251502344372,
0.004215228523521961,
-0.09201432038609174,
0.0059583530929899296,
-0.08327864847992603,
0.012702644822271928,
0.10249901500978337,
0.07610668694556812,
-0.0437890221478302,
],
[
0.05851634049329727,
-0.0707922451514568,
0.011484587448124322,
0.08270874916422553,
-0.03343267387378942,
0.03919958330306847,
0.00625274490149667,
0.0786300852765027,
-0.037483626390072106,
0.03501532418614583,
-0.08089386318503873,
-0.008970320026107837,
0.07461338860332557,
-0.055245064775714336,
-0.09140155841907482,
-0.020611261034763427,
0.06084996104718135,
-0.07131640906850129,
0.007521023693211355,
0.0765149173117352,
-0.041253792048636974,
0.029296320135127465,
-0.007129970279072069,
0.06404443021585698,
-0.053063690641809214,
0.017768585214856216,
-0.09948807794693136,
-0.028361792558876338,
0.05492428877073529,
-0.07315945718195996,
0.09213022193309806,
-0.035517963959094026,
0.04850306711175667,
-0.07964692854476293,
0.0035659689664764025,
0.07492870062720491,
],
[
0.25910849000043107,
0.16442476052207658,
0.3425398563532917,
0.22213987294435175,
0.2575742551322316,
0.4617824156578851,
0.38325596149129065,
0.4096832691686185,
0.16183739209902584,
0.2849145200081872,
0.008027323308869683,
0.024449652063594902,
-0.16273560054161457,
-0.06536080066181174,
0.03831375334728602,
-0.03380828836069518,
0.16140161885554144,
0.012993279193734112,
0.20479610654686753,
0.08126048409873479,
0.11027541427775081,
0.08758532916802043,
-0.04713797801534976,
-0.06664767335951617,
-0.11726539658565663,
-0.03151974644029916,
-0.07327769398395621,
0.01545655475227739,
-0.10729231470980721,
-0.01923386154472501,
0.0509600270960612,
-0.0681092515736518,
-0.0002093521405330716,
0.07915091668649891,
0.032055354488573926,
-0.08550978018492182,
],
[
0.0851895319899794,
-0.03235084093261091,
0.03740569528792873,
-0.07998237774750536,
-0.010038965091262399,
-0.04473888441784101,
0.028088531807922448,
-0.08984660747032217,
-0.020018871735710115,
0.06201519497785816,
-0.06792052847830038,
0.014856666767885622,
0.08518368563121669,
0.04741743382121283,
-0.0805632295111363,
0.004682043697773248,
0.0785855602759886,
-0.04050416576363279,
0.02693406463991649,
-0.09134749284720835,
-0.019139908799163448,
-0.053899367276723224,
0.018425309465569983,
0.10268626554601884,
-0.026720061255514144,
0.055948510823526705,
-0.0732592646770792,
0.009302421173901239,
0.07998591155162307,
-0.03759142965132278,
-0.08577779243785977,
-0.00333653114088372,
0.06733416658881408,
-0.05011623079161865,
0.02065023030938508,
0.10324897447709477,
],
[
-0.08413725055204326,
-0.15396216740689625,
-0.10756812865316576,
-0.21961091301761615,
-0.14141842907316982,
-0.27824678706531086,
-0.15444749910692243,
-0.10089030519934476,
-0.22291341363368627,
-0.16379971670843743,
-0.06025190267509628,
-0.01448809376299423,
-0.1512655210866217,
-0.06737653021369251,
0.01947595715649467,
-0.1389888226509614,
-0.11157630567008163,
-0.2237618945898364,
-0.20792428325808063,
-0.31338293739681783,
-0.20045429687640728,
-0.32975244504008167,
-0.19672912546874202,
-0.12723150444610665,
-0.08773590677409306,
0.060183189131549096,
-0.06242377456092391,
0.004146787661139656,
-0.11339062133462989,
-0.0297117481157335,
0.08173603533269029,
-0.008925279342445233,
0.11146442067289589,
0.010497122893617027,
0.1884546161373595,
0.07036881616520525,
],
[
-0.08794671126056927,
-0.01822877184918527,
0.06563327649572347,
-0.06356908049809482,
0.017674894408748573,
-0.030632070903447533,
0.050552660981030235,
-0.07833882172421375,
0.004400737810713994,
0.07455394309447395,
-0.04492265485605106,
0.024799268493951053,
-0.09336263322078714,
0.0581438383285819,
-0.05955631447873377,
0.009688447168234414,
0.09217259907555002,
-0.03625413005948534,
0.047907869564321345,
-0.07989096233568113,
0.0034950360148738834,
-0.04443600274707291,
0.03983071685965722,
-0.08891451696303578,
-0.004234874818183626,
0.06662184846948141,
-0.050771432042662684,
0.019961652438439805,
0.10242069459356319,
0.05414632336742913,
-0.06346582263505528,
0.007134601532211097,
0.07779613560158732,
-0.03965481210531358,
0.031103276054626077,
-0.08629999964539241,
],
[
0.004959829424277836,
-0.025235172817745566,
-0.19010571362889198,
-0.26580317254275476,
0.008526086372488325,
0.2703101548609642,
0.5053639347136455,
0.3195636145729526,
-0.18319149303020377,
-0.1925304411241372,
-0.32023572986132354,
-0.030002530836041142,
-0.30578874769433906,
-0.4040642041321075,
-0.6976440220988644,
-0.4307540845771102,
0.3872391947585906,
0.9997796248510125,
1.5602909203100184,
1.5785867065194188,
1.347234375134128,
0.9283182125155617,
0.3092015378773591,
-0.12135174442402752,
0.027952293814641725,
-0.0025654331148861564,
0.07798467034149136,
0.16896486346576653,
0.04435502774381749,
0.11748010342718736,
0.1562279314739145,
-0.004855341175607487,
0.020857185303748978,
-0.04949678841701212,
0.006530112820394217,
-0.12356370623865828,
],
[
-0.08114099741181383,
0.002178760370427887,
0.07205027055804002,
-0.044198046781512075,
-0.09214836337032116,
-0.00834704860220536,
0.06393808190494273,
-0.05122651052016017,
0.020443120974358603,
0.10254384013719561,
-0.02523964042970854,
0.058225134799975195,
0.010412948424209771,
0.09263387657110257,
-0.03554367689366878,
0.04706309539827687,
-0.08242056524120943,
-0.013281805660559603,
0.066455636414754,
-0.06394869855531406,
0.019924765802435667,
-0.026364354026396107,
0.05670351028088719,
-0.07064874750901803,
0.010391161986406088,
0.08123103485594442,
-0.03613616850478143,
0.03472184341150963,
-0.0825354763316776,
0.06969800133252867,
-0.04733812918653088,
0.023824782726588643,
-0.09322689581523937,
-0.02216232861106662,
0.06061739706192339,
-0.06842609584118205,
],
[
0.16964388030892985,
0.47078373522152367,
0.4092887995114583,
1.1138687383484913,
1.1856896434772064,
0.762803439050028,
0.8492979149892435,
0.9472143369050918,
1.5260987789743783,
1.374322548335793,
1.5849905241559668,
1.1402768057768993,
0.9471606716594203,
0.7644932158788965,
0.7475335876148441,
0.6104143353451237,
-0.420871353106609,
-1.7510540176222302,
-3.372109582435098,
-3.8490780349162743,
-3.2189626003382794,
-2.437636126949201,
-0.7856980688885008,
0.7081252208813689,
0.24300630653891808,
0.09977594679251003,
0.1613349503311008,
0.22558192582532927,
0.12866335588633238,
0.2470022238749686,
0.20503311576446764,
0.3506785877481854,
0.4956727172986915,
0.49694986570296595,
0.4007835978311995,
0.4950444462901251,
],
],
biases: [
1.3451093529887304,
-0.08718074148740676,
1.8509581032281168,
-0.08098023096962255,
0.078589753123599,
0.5869466921503024,
-0.0868165699561737,
-0.0044716010716691285,
-0.06736758050836229,
0.21349831117315446,
-0.03596141701373582,
0.0240808381655193,
-0.02195785735530314,
1.4775622916471156,
-0.008856945991732276,
-1.3658654442253297,
0.018112950019224368,
-1.2788229155817705,
],
},
hidden_layers: [],
output_layer: Layer {
weights: [
[
0.16729842982361773,
-0.043630999999999996,
0.2709650439625593,
-0.008880600000000006,
0.1927443967481676,
-0.22240075316163327,
0.015566400000000003,
0.056814357790502416,
-0.0308646,
-0.09677668407132144,
-0.08203948745365362,
0.08600517900899741,
-0.04255190169751491,
0.4404441857030738,
-0.0889764,
0.03913017703719239,
0.06440031660475143,
0.12408035668813798,
],
[
0.1584905120444493,
0.052912,
0.3177568624260591,
0.006481000000000003,
0.10618389406689772,
-0.053461272235762504,
0.030928,
-0.08180318881650782,
-0.015503,
-0.04809056423863694,
0.01790859143360502,
0.06924653736016241,
-0.02715217839404925,
0.31916004556269867,
-0.07361480000000001,
0.044400229316746864,
0.07989337795993007,
0.11743476033238222,
],
[
0.1872498080195624,
0.0682736,
0.37798800142652444,
0.0218426,
-0.0720770724333188,
-0.022422375730680174,
-0.0725292,
0.013710664574043034,
0.0810398,
-0.02932490212797867,
0.031093927385766048,
0.03933897281829267,
-0.011771780042419319,
0.18205198816331544,
-0.058253200000000005,
0.0551335084741529,
-0.023669399143487434,
0.16053798284744736,
],
[
0.24522127105573266,
0.08363519999999999,
0.41110451246496,
0.0372042,
0.043616412981152805,
-0.16665785565211869,
-0.057167600000000006,
-0.034660434254757885,
0.0964014,
-0.0670174207863974,
0.0404546889420193,
0.009205349092090243,
0.08475543601004702,
0.07783473705974184,
0.0382898,
0.04297091556790119,
-0.007967360149018643,
0.2006006119076923,
],
[
0.3491633648099239,
-0.019821999999999996,
0.45725938306481695,
-0.066253,
0.06638480585007278,
-0.26492650792863376,
-0.041805999999999996,
-0.07877833749061347,
-0.088237,
-0.06891862704353638,
-0.09049447479895871,
-0.01601781835528896,
-0.09990458472010647,
-0.1415045472515694,
0.053651399999999995,
0.0405230422806918,
0.007237700313900434,
0.25546329632422904,
],
[
0.43259130832817594,
-0.004460399999999998,
0.5021217451400184,
-0.050891399999999996,
0.08194940367875757,
-0.26852974856550593,
-0.014631400000000006,
-0.15785910638793096,
0.00830599999999999,
-0.10738840274002602,
-0.041178670721306695,
-0.025572888528349564,
-0.08456859114737728,
-0.3175617297816052,
0.06901299999999999,
0.03369050674464516,
-0.09624841764490019,
0.2648446824334966,
],
[
0.5007010903862757,
0.01090120000000001,
0.49089391107016306,
-0.0355298,
0.04585525449782387,
-0.3016353925018363,
0.0819116,
-0.1289594543002974,
0.02366760000000001,
-0.2452225246946642,
-0.0461845655910388,
-0.00978479896473687,
0.01190851943663475,
-0.4221962411382012,
-0.0344442,
0.010606063832308613,
-0.08086009438846155,
0.27517433368743766,
],
[
0.48145892636951065,
0.02626280000000001,
0.4589127323546276,
0.06101319999999999,
0.005090853425703141,
-0.24389233216067693,
0.09727319999999999,
-0.09756740303331367,
0.03902920000000001,
-0.22619236528154962,
0.06056843570985236,
-0.021429845989025212,
0.027215176444787915,
-0.47390911114301343,
-0.019082600000000005,
-0.015602709900976754,
-0.06551870718959435,
0.26734318141927976,
],
[
0.47655402490933974,
-0.0771942,
0.4893733416633027,
0.0763748,
-0.010729270635145376,
-0.24806788146327538,
-0.0873652,
-0.019798640321365482,
-0.064428,
-0.15773703265862618,
0.04694443623650616,
0.025861943609641683,
0.042618773630302295,
-0.45917279904983066,
-0.0037209999999999964,
-0.021632487463269314,
0.03112462885713944,
0.24772821833277647,
],
[
0.46291137646144037,
-0.061832599999999995,
0.48805380210546523,
0.09173640000000001,
0.05298347527282705,
-0.23559255992890207,
0.009177600000000008,
0.03186808941720459,
-0.049066399999999996,
-0.11047881276138237,
-0.09191438671164844,
0.10798593689788903,
0.05792802746303706,
-0.42907004744808275,
0.092822,
-0.03241430353003368,
0.04634412231855275,
0.2108513050198904,
],
[
0.45215585673235964,
-0.046471,
0.4665104915084264,
-0.011720799999999998,
0.1295008393159532,
-0.2246898910750331,
0.024539200000000004,
0.0501873596491739,
-0.0337048,
-0.12673570622476846,
0.039282670801088444,
0.23844852125909688,
-0.045490020703658436,
-0.3527750776253461,
-0.09181639999999999,
-0.06626038412737051,
0.061713635320939875,
0.16085476885835184,
],
[
0.4539001163396396,
0.0500718,
0.44093826637919026,
0.0036407999999999996,
0.3140285669687135,
-0.193149618429642,
0.0399008,
-0.10432570348187022,
0.0628382,
-0.20723947284909738,
0.017161109396115412,
0.29919397053269664,
-0.030161504147447955,
-0.32264562058453755,
-0.0764548,
-0.09024773417241475,
-0.04168283557372669,
0.12676613159850222,
],
],
biases: [
-0.230969762368169,
-0.11083749339594062,
-0.0465898623231063,
0.046994203678145,
0.08734750914210687,
0.13788306071433554,
0.1597480972934681,
0.26516346413625547,
0.23241874602484291,
0.15933127809851402,
0.045680180101710176,
0.02791392232807321,
],
},
}
}