zer0n / deepframeworks

Evaluation of Deep Learning Frameworks
2.05k stars 305 forks source link

Computational graph approach for Torch #3

Closed Kaixhin closed 8 years ago

Kaixhin commented 8 years ago

Torch does have a computational graph approach available via nngraph, or Autograd. On the flip side, Lasagne was created to add layers for Theano. I also prefer the computational graph as an abstraction for neural networks, but clearly both sides have their pros and cons. It should be worth mentioning this, especially considering a merge of nn and nngraph is on the roadmap.

On the other weakness, it's not part of the distributed packages, but there is also a Python interface of sorts. If you can at least write a #subjective tag that would be good - programming languages and the ecosystems that come with them are subject to a wide range of opinions.

zer0n commented 8 years ago

Nodes in Torch's nngraph are layers (or modules). The brick is layer. Nodes in TF/Theano graph are tensor operations. The brick is smaller.

The Python bridge looks pretty half-baked to me. I think that it's near impossible to have an ideal bridge (unless there's a magic function call that translates Python code to Lua code). If you write computational code in Python, you lose the performance of Torch; but you have to write computational code if you want to implement something new. Torch doesn't support symbolic programming.

zer0n commented 8 years ago

FWIW, I'm changing the format of this evaluation to a table view. This should make the comparison more detailed and fairer.

Kaixhin commented 8 years ago

You make valid points, so perhaps add those to the comparison in some way?

A table is good, but I would recommend a series of headings/points to cover, for example abstraction level, language support, packages/libraries etc. Then write some prose on each framework which justifies ratings. An example would be this review on API tools. I think this should give you the best of what you have now and a table view.

zer0n commented 8 years ago

Thanks for the suggestion. I've just updated the review.

Kaixhin commented 8 years ago

Thanks - much easier to see points of comparison now. Small final suggestion - a table of contents at the top using relative links so that people can see the different areas covered.

zer0n commented 8 years ago

Good suggestion. Will do.

zer0n commented 8 years ago

Added as you suggested. Thanks.