HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
snowkylin
ntm
Python2018–2018
snowkylin / ntm

ntm

TensorFlow implementation of Neural Turing Machines (NTM), with its application on one-shot learning (MANN)

2Distinct people
3Mentions
0Explicit recommenders
185GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

TensorFlow implementation of Neural Turing Machines (NTM), with its application on one-shot learning (MANN)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour3 dated mentions

Observed mentions: 2018-07-26 09:27:08 UTC to 2018-07-26 19:02:26 UTC.

012018-07-26 09:00:00 UTC to 2018-07-26 10:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJul 26, 09:002018-07-26 10:00:00 UTC to 2018-07-26 11:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 11:00:00 UTC to 2018-07-26 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 12:00:00 UTC to 2018-07-26 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 13:00:00 UTC to 2018-07-26 14:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-07-26 14:00:00 UTC to 2018-07-26 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJul 26, 14:002018-07-26 15:00:00 UTC to 2018-07-26 16:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 16:00:00 UTC to 2018-07-26 17:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 17:00:00 UTC to 2018-07-26 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 18:00:00 UTC to 2018-07-26 19:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-07-26 19:00:00 UTC to 2018-07-26 20:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJul 26, 19:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 26, 09:002018-07-26 09:00:00 UTC2018-07-26 10:00:00 UTC101
Jul 26, 10:002018-07-26 10:00:00 UTC2018-07-26 11:00:00 UTC000
Jul 26, 11:002018-07-26 11:00:00 UTC2018-07-26 12:00:00 UTC000
Jul 26, 12:002018-07-26 12:00:00 UTC2018-07-26 13:00:00 UTC000
Jul 26, 13:002018-07-26 13:00:00 UTC2018-07-26 14:00:00 UTC101
Jul 26, 14:002018-07-26 14:00:00 UTC2018-07-26 15:00:00 UTC000
Jul 26, 15:002018-07-26 15:00:00 UTC2018-07-26 16:00:00 UTC000
Jul 26, 16:002018-07-26 16:00:00 UTC2018-07-26 17:00:00 UTC000
Jul 26, 17:002018-07-26 17:00:00 UTC2018-07-26 18:00:00 UTC000
Jul 26, 18:002018-07-26 18:00:00 UTC2018-07-26 19:00:00 UTC000
Jul 26, 19:002018-07-26 19:00:00 UTC2018-07-26 20:00:00 UTC101

What Hacker News says

3 sources
You broke the LGPL license, you didn't state changes: https://github.com/snowkylin/ntm/blob/master/LICENSE Moreover, in the paper 5 times you write: "Our implementation" You also don't acknowledge that you are piggybacking on snowkylin's code. You didn't make it magically "stable", like fixed NaNs or anything like that. And you want to be cited as follows: title={Implementing Neural Turing Machines, author={Collier, Mark and Beel, Joeran}, That's just very bad. You should: 1. State changes (orbifold did it for you below). Acknowledge snowkylin. Link to them. 2. Title it "Improved initialization in NTM" or something like that, not "Implementing NTM".
In Implementing Neural Turing Machines
Just to be clear, I went through the two implementations (https://github.com/snowkylin/ntm/blob/master/ntm/ntm_cell.py) and (https://github.com/MarkPKCollier/NeuralTuringMachine/blob/ma...) line by line. The code is not just similar, but largely identical. You've used the exact same variable names and ordering in the code. Some comments have been removed. The notable differences I can spot are: - line 53-56 (in your code), which correspond to line 41-45 in Snowkylin's code - line 70 vs 69, where you've used a build in function instead of the explicit compositional form of softplus - finally the major change I can see are various variable initialisation schemes 147-178 in your code, which is handled by line 157-185 in snowlkylin's code and some miscellaneous places where you've used a NamedTuple instead of a dictionary. And yes the choi
Read the rest
ce of initialisation is a valid improvement. As far as I can tell Snowkylin's implementation is not broken, but just might learn more slowly because of a different state initialisation scheme. It does not suffer the NaN problem for example. It should be communicated very clearly also in the paper that the code you are releasing is derived from another open-source implementation, with a precise explanation of the changes you have made. Also you can't change the LICENSE and copyright notice of open-source code to yourself without permission. I believe even in the current form your Github repo is in breach of the LGPL3. For more details how to use the LGPL properly, please refer to https://www.gnu.org/licenses/gpl-howto.en.html. Notice that the original repository actually does not carry out all those steps properly. Namely it is missing LICENSE and Copyright notices in every file. It also doesn't have an explicit copyright notice anywhere.
In Implementing Neural Turing Machines
The author states in his github repository (https://github.com/MarkPKCollier/NeuralTuringMachine) that his work is based on (https://github.com/snowkylin/ntm). If that is the case then I find it kind of strange that he has relicensed the work to MIT from LGPL3 and removed any reference to the original author in the LICENSE. LGPL3 requires any derivative work to be licensed the same and retain mentions of the authors, more over it also requires a clear explanation of the modifications that were undertaken. Also compared to the open source implementation (https://github.com/snowkylin/ntm) it seems like his main novel claim is that he looked at different memory initialisation patterns. Edit: compare the original: https://github.com/snowkylin/ntm/blob/master/ntm/ntm_cell.py to the derivative work: https://github.com/MarkPKCollier/NeuralTuring
Read the rest
Machine/blob/ma... from what I can tell the main innovation is that the derivative work uses a named tuple instead of a dictionary for state keeping and there is new memory initialisation code. The original author apparently initialised the memory randomly. I also feel like the paper should cite the implementation they are basing their work on. The paper https://arxiv.org/pdf/1807.08518.pdf merely states that other implementations exist on page one and makes no mention of the fact that their implementation is based on one of those. Combine that with the fact that they are asking people in the Readme to cite their paper feels like not a very good idea.
In Implementing Neural Turing Machines

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.