I always had a lot of questions and concerns about how Scala/Java/Maven dependencies with the provided scope work. The best way to understand something is to actually play with it, so I decided to create a Scala playground project and play with different combinations of dependencies.
The repository contains three Scala projects with extremely sophisticated names: project-a
, project-b
, project-c
. The idea is to keep these projects as simple as possible and limit number of dependencies.
project-a
depends on org.apache.avro
dependency version 1.8.1
:
project-b
depends on the same artifact but of version 1.10.1
:
Several days ago I noticed Dog Breed Identification challenge hosted by Kaggle. The goal is to build a model capable of doing breed classification of a dog by just “looking” into its image. I started thinking about possible approaches to build a model for doing this and what accuracy it might be able to achieve. It appears that with modern machine learning frameworks like TensorFlow and publicly available datasets and pre-trained models for image recognition the task could be solved with a pretty good accuracy without applying too many efforts and spending too much time and resources. …
I was playing with Free Monads in Scala recently and discovered that it could be a perfect way of doing gradient calculations in a functional programming style. Apparently, calculating gradients using Free Monads is not the best idea from the performance point of view, but it could very useful for educational and experimental purposes. It is not a big deal to start building simple neural networks if you have a way of computing gradients for an arbitrary expression in your dispose.
Free Monad is the perfect way to build any kind of abstract syntax tree (AST) representing a computation, and…
Senior Software Engineer @ Spotify and believer that “sophisticated algorithm ≤ simple learning algorithm + good training data”.