From c6e6150d3ef6213016aaeca22309c66abcb52fad Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Wed, 24 Jul 2019 18:08:53 +0100 Subject: [PATCH] Bugfix: Fix a bunch of crashes in the client-side map, but it's still not working :-/ --- client_src/js/LayerAI.mjs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/client_src/js/LayerAI.mjs b/client_src/js/LayerAI.mjs index 934adb4..b6164ff 100644 --- a/client_src/js/LayerAI.mjs +++ b/client_src/js/LayerAI.mjs @@ -3,7 +3,10 @@ import path from 'path'; import L from 'leaflet'; -import * as tf from '@tensorflow/tfjs'; +import { + loadLayersModel as tf_loadLayersModel, + tensor as tf_tensor +} from '@tensorflow/tfjs'; import chroma from 'chroma-js'; import GetFromUrl from './Helpers/GetFromUrl.mjs'; @@ -18,7 +21,7 @@ class LayerAI { north: Infinity, south: -Infinity }; - for(let gateway of this.index) { + for(let gateway of this.index.index) { result.east = Math.min(gateway.longitude, result.east); result.west = Math.max(gateway.longitude, result.west); @@ -42,7 +45,7 @@ class LayerAI { for(let gateway of this.index.index) { this.gateways.set( gateway.id, - await tf.loadModel(`${window.location.href}/${path.dirname(Config.ai_index_file)}/${gateway.id}`) + await tf_loadLayersModel(`${window.location.href}/${path.dirname(Config.ai_index_file)}/${gateway.id}/model.json`) ); } @@ -51,7 +54,8 @@ class LayerAI { } generate_layer() { - return L.geoJSON(this.render_map(), { + let map = this.render_map(); + return L.geoJSON(map, { style: (feature) => { return { fillColor: feature.properties.colour, fillOpacity: 0.4 @@ -69,10 +73,10 @@ class LayerAI { map_bounds.west -= Config.border; let coverage = [], - colour_scale = chroma.scale( + colour_scale = chroma.scale([ Config.colour_scale.min, Config.colour_scale.max - ).domain( + ]).domain( this.index.properties.rssi_min, this.index.properties.rssi_max ); @@ -82,11 +86,12 @@ class LayerAI { let max_predicted_rssi = -Infinity; for(let [, ai] of this.gateways) { + let next_prediction = ai.predict( + tf_tensor([ lat, lng ], [1, 2]) + ); max_predicted_rssi = Math.max( max_predicted_rssi, - ai.predict( - tf.tensor1d([ lat, lng ]) - ) + next_prediction.arraySync()[0][0] ); } @@ -110,7 +115,7 @@ class LayerAI { ] }, properties: { - colour: colour_scale(max_predicted_rssi) + colour: colour_scale(max_predicted_rssi).toString() } }) }