Comments (5)
Great idea! We should rename Matrix
to Tensor
.
from bnn.
I have thought of the following modules,
core
- Containing the data structures(Matrix, and others) for CPU(including parallel computing support on CPU using threads).cuda
- Containing CUDA support for most probably the data structures in thecore
module and some operations in theoperations
module. We will start with only single GPU support.layers
- Containing various layers in BNNs.operations
- Containing operations like back-propagation, update, train, classify, test.wrappers
- Containing wrappers for various languages. We will start only with python wrappers. Boost.Python will be used here.tests
- Containing test suites for the above modules. Boost.Test forcuda
tests and GoogleTest for the rest.
Note that CUDA tests will not be enabled on CI because they are to costly and Travis CI doesn't provide support GPU enables tests. So, we may have to establish a scheme for obtaining the reports of tests on various PRs before merging.
Let me know of any modifications or clarifications. Thanks.
from bnn.
Let's proceed forward with the discussion here.
So, we will start with core
module. We will be only needing matrices(multidimensional ones like 2D, 3D) as ConvNets are very general in using them. We can build a base class, Matrix
and then for multidimensional matrices we will just create class MatrixND
with N-sized array of Matrix
as it's data member. The on going PR at codezonediitj/adaboost#5 has the code for 2D Matrices.
I was just wondering if we should rename Matrix
to Tensor
? What do you say?
ping @pristineVedansh
P.S. We don't need Boost.Test as after compiling the .cu
files, these can be linked with gtest
code.
from bnn.
We will be required to use 1D layout(Row Major Order) for arbitrary dimensional Tensors.
from bnn.
We should also, have autodiff operator in operators
module which was left out and is crucial. It should be specialised for the BNNs. I will come up with the API design of Tensors in a separate issue.
from bnn.
Related Issues (8)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bnn.