HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
tensorflow
fold
Python2017–2017
tensorflow / fold · Archived

fold

Deep learning with dynamic computation graphs in TensorFlow

3Distinct people
4Mentions
0Explicit recommenders
1.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Deep learning with dynamic computation graphs in TensorFlow

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

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 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 week4 dated mentions

Observed mentions: 2017-02-07 20:48:46 UTC to 2017-07-29 14:46:50 UTC. Weeks start Monday, UTC.

0122017-02-06 00:00:00 UTC to 2017-02-13 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsFeb 62017-02-13 00:00:00 UTC to 2017-02-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-02-20 00:00:00 UTC to 2017-02-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-02-27 00:00:00 UTC to 2017-03-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-03-06 00:00:00 UTC to 2017-03-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-03-13 00:00:00 UTC to 2017-03-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-03-20 00:00:00 UTC to 2017-03-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-03-27 00:00:00 UTC to 2017-04-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-04-03 00:00:00 UTC to 2017-04-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-04-10 00:00:00 UTC to 2017-04-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-04-17 00:00:00 UTC to 2017-04-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-04-24 00:00:00 UTC to 2017-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-05-01 00:00:00 UTC to 2017-05-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMay 12017-05-08 00:00:00 UTC to 2017-05-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-05-15 00:00:00 UTC to 2017-05-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-05-22 00:00:00 UTC to 2017-05-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-05-29 00:00:00 UTC to 2017-06-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-06-05 00:00:00 UTC to 2017-06-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-06-12 00:00:00 UTC to 2017-06-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-06-19 00:00:00 UTC to 2017-06-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-06-26 00:00:00 UTC to 2017-07-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-07-03 00:00:00 UTC to 2017-07-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-07-10 00:00:00 UTC to 2017-07-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-07-17 00:00:00 UTC to 2017-07-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-07-24 00:00:00 UTC to 2017-07-31 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsJul 24

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
Feb 62017-02-06 00:00:00 UTC2017-02-13 00:00:00 UTC202
Feb 132017-02-13 00:00:00 UTC2017-02-20 00:00:00 UTC000
Feb 202017-02-20 00:00:00 UTC2017-02-27 00:00:00 UTC000
Feb 272017-02-27 00:00:00 UTC2017-03-06 00:00:00 UTC000
Mar 62017-03-06 00:00:00 UTC2017-03-13 00:00:00 UTC000
Mar 132017-03-13 00:00:00 UTC2017-03-20 00:00:00 UTC000
Mar 202017-03-20 00:00:00 UTC2017-03-27 00:00:00 UTC000
Mar 272017-03-27 00:00:00 UTC2017-04-03 00:00:00 UTC000
Apr 32017-04-03 00:00:00 UTC2017-04-10 00:00:00 UTC000
Apr 102017-04-10 00:00:00 UTC2017-04-17 00:00:00 UTC000
Apr 172017-04-17 00:00:00 UTC2017-04-24 00:00:00 UTC000
Apr 242017-04-24 00:00:00 UTC2017-05-01 00:00:00 UTC000
May 12017-05-01 00:00:00 UTC2017-05-08 00:00:00 UTC000
May 82017-05-08 00:00:00 UTC2017-05-15 00:00:00 UTC000
May 152017-05-15 00:00:00 UTC2017-05-22 00:00:00 UTC000
May 222017-05-22 00:00:00 UTC2017-05-29 00:00:00 UTC000
May 292017-05-29 00:00:00 UTC2017-06-05 00:00:00 UTC000
Jun 52017-06-05 00:00:00 UTC2017-06-12 00:00:00 UTC000
Jun 122017-06-12 00:00:00 UTC2017-06-19 00:00:00 UTC000
Jun 192017-06-19 00:00:00 UTC2017-06-26 00:00:00 UTC000
Jun 262017-06-26 00:00:00 UTC2017-07-03 00:00:00 UTC000
Jul 32017-07-03 00:00:00 UTC2017-07-10 00:00:00 UTC000
Jul 102017-07-10 00:00:00 UTC2017-07-17 00:00:00 UTC000
Jul 172017-07-17 00:00:00 UTC2017-07-24 00:00:00 UTC000
Jul 242017-07-24 00:00:00 UTC2017-07-31 00:00:00 UTC202

What Hacker News says

4 sources
I'm not sure why you think neural networks can't handle variable numbers of inputs. Recurrent networks that ingest whole sequences have been around for a long time, and other structures have their own network topologies. Support for things other than classic RNNs is more limited, but e.g. TensorFlow Fold (https://github.com/tensorflow/fold) was specifically designed for that.
In Artificial Intelligence Is Stuck
> - Neural network programs are usually not large and therefore do not need the type safety that Rust offers TensorFlow Fold [1] uses static type checking at model compilation time, presumably because it is meant to consume structured data, and needs to know what the opaque tensors it passes around are supposed to represent. I don't fully comprehend that type system, and debugging type errors was annoying (huge stacktrace full of passing type info around), but after I managed to imitate it well enough to hack up my own blocks, I didn't investigate further. A language-level type system like Rust's would probably have made things easier for me. EDIT: I just remembered that there's also Leaf [2], which claims to be among the faster neural network libraries (although their comparison is a bit outdated). Evidently there are people seriously pu
Read the rest
rsuing machine learning in Rust (still uses CUDA for GPU acceleration, though). [1] https://github.com/tensorflow/fold [2] https://github.com/autumnai/leaf
In Show HN: Juggernaut – Experimental Neural Network in Rust
Thanks, insightful questions. You're absolutely right about combinators and long-range dependencies. We have a special block type in the high-level API (https://github.com/tensorflow/fold/blob/master/tensorflow_fo...) for accumulating results here without having to explicitly shuttle them around; not perfect but very handy in many cases. Regarding your second question, the equivalent of padding in dynamic batching is "pass through" do-nothing ops, which are introduced transparently but worth being aware of if you want to understand the machinery. The worst case scenario here is chains of wildly varying lengths, where we need to add pass-throughs to the shorter chains to match the length of the longest chain.
In TensorFlow Fold: Deep Learning with Dynamic Computation Graphs

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.