Senior Web Dev
FamilySearch
Recognizing written digits
784
const node = (nodes, bias) =>
nodes
.map(({ activation, weight }) => activation * weight)
.reduce((aggregator, current) => aggregator + current, 0) + bias
784
784
+
+
+
+
+
+
+
+
+
const bebop = require('node-bebop')
const drone = bebop.createClient()
drone.connect(()=>{
drone.takeoff()
drone.forward(50)
drone.back(50)
drone.land()
})
const bebop = require('node-bebop')
const io = require("socket.io")(http);
const drone = bebop.createClient()
drone.connect(() => {
io.on("connection", function(socket) {
socket.on("command", ({ command, speed }) => {
drone[command](speed);
});
});
});
http.listen(3000, function() {
console.log("listening on *:3000");
});
document.addEventListener("keydown", ({ key, shiftKey }) => {
switch (key) {
case "u":
command("up", 50);
break;
case "d":
command("down", 50);
break;
case "e":
command("counterClockwise", 100);
break;
case "r":
command("clockwise", 100);
break;
case "ArrowUp":
command("forward", 50);
break;
case "ArrowDown":
command("backward", 50);
break;
case "ArrowLeft":
command("left", 50);
break;
case "ArrowRight":
command("right", 50);
break;
default:
}
});
> 1000 images
ffmpeg -i videos/flat.mov -vf "select=not(mod(n\,10))" -vsync vfr -q:v 2 done/img_%03d.jpg
$ cacli train
Takes about 20 min for 250 photos
(Some amount of training time per month is free)
35 min for 1000 photos