Deniz Yuret. 2016.
. Barcelona. (
Abstract
Knet (pronounced "kay-net") is the Koç University machine learning framework
implemented in Julia, a high-level, high-performance, dynamic programming
language. Unlike gradient generating compilers like Theano and TensorFlow which
restrict users into a modeling mini-language, Knet allows models to be defined by
just describing their forward computation in plain Julia, allowing the use of loops,
conditionals, recursion, closures, tuples, dictionaries, array indexing, concatenation
and other high level language features. High performance is achieved by combining
automatic differentiation of most of Julia with efficient GPU kernels and memory
management. Several examples and benchmarks are provided to demonstrate that
GPU support and automatic differentiation of a high level language are sufficient
for concise definition and efficient training of sophisticated models.