  Over the past few years Caffe, from Berkeley AI Research, has gained a strong
following in the deep learning community with over 15K forks on the
github.com/BLVC/Caffe site. With its well organized, very modular C++ design it
is easy to work with and very fast. However, in the world of Windows
development, C# has helped accelerate development with many of the enhancements
that it offers over C++, such as garbage collection, a very rich .NET
programming framework and easy database access via Entity Frameworks. So how
can a C# developer use the advances of C# to take full advantage of the
benefits offered by the Berkeley Caffe deep learning system? The answer is the
fully open source, 'MyCaffe' for Windows .NET programmers. MyCaffe is an open
source, complete C# language re-write of Berkeley's Caffe. This article
describes the general architecture of MyCaffe including the newly added
MyCaffeTrainerRL for Reinforcement Learning. In addition, this article
discusses how MyCaffe closely follows the C++ Caffe, while talking efficiently
to the low level NVIDIA CUDA hardware to offer a high performance, highly
programmable deep learning system for Windows .NET programmers.
