layer

AI

neural network inference tool

SHOW HN2019

Legend

layer

Applying the Unix philosophy to neural networks

github.com

#neural network#unix pipes#inference#command line#scheme

251points
64comments
#136of 2,195 in 2019
Top 7%of 2019 by points

How HN took it

DebatedReal support and real criticism

11 positive, 12 neutral or asking, 1 mixed, 9 critical, out of 33 comments about the project. Thread score +0.09.

Idea: 5 for, 4 againstExecution: 1 for, 3 againstPerformance: 1 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Unix pipeline idea is elegant and fun to explore

    From 4 comments
    • Excerpt: "layer is a program for doing neural network inference the Unix way. Many modern neural network operations can be represented as sequential, unidirectional streams of…
      peter_d_sherman on HN
    • What's wonderful about this concept (and unix concept in general) is that the flexibility it gives you is amazing. You can for example pipe it over the network and distribute the…
      mempko on HN
    • I've been thinking about something like this for a long time, but could never quite wrap my head around a good way to do it (especially since I kept getting stuck on making it…
      craftinator on HN
    • Great concept. Would like to see more of this idea applied to neural network processing and configuration in general (which in my experience can sometimes be a tedious,…
      skvj on HN
  • Good for learning how neural networks work

    From 1 comment
    • This might not be a great way to build neural networks (as other commenters have said regarding performance). But, it could be a great way to learn about neural networks. I…
      xrd on HN
  • Scheme implementation is interesting

    From 3 comments
    • Wonderful idea and the Chicken Scheme implementation looks nice also. I wrote some Racket Scheme code that reads Keras trained models and does inferencing but this is much…
      mark_l_watson on HN
    • Ironically, I was only mildly interested in this before I read your comment and learned that it's in Scheme. Now I'm eager to check it out, haha.
      seisvelas on HN
    • This, I'm primarily into Python, but the fact this is written in LISP makes it interesting alone.
      rectangletangle on HN

Objections

  • Only inference, no training or backpropagation

    From 3 comments
    • Great idea but however equally great caveat - it's just for (forward) inference. Unix pipelines are fundamentally one way and this approach won't work for back propagation.
      luminati on HN
    • > Now, that being said, there is one minor question I have, and that is, how would backpropagation apply to this apparently one-way model? The author mentioned that this is only…
      kwaugh on HN
    • This kind of misses the point of the Unix philosophy of being able to dynamically reconfigure things - realistically, to get decent results, you'll need to do inference with the…
      PeterisP on HN
  • Likely poor performance due to serializing data as text

    From 2 comments
    • I don't see any claims about performance, but I would be very surprised if it was anything better than abysmal. In a modern neural network pipeline, just sending data to the CPU…
      HALtheWise on HN
    • Because all the time spent marshalling and unmarshalling data structures into bags of textual bytes takes up CPU and does nothing but hasten the heat death of the universe. We…
      bitwize on HN
  • Layers are tightly coupled and cannot be swapped freely

    From 1 comment
    • My point was that this is not possible as the trained layers are intrinsically tightly coupled. You can't combine pre-trained sub networks in arbitrary manner without retraining.…
      PeterisP on HN

Requests

  • Support for backpropagation

    From 1 comment
    • I don’t see any reason you couldn’t just spit out the output and the derivative of the layer output with respect to the weights, then multiply and carry these all the way down.…
      bigred100 on HN
  • Higher-level composition of pre-trained sub-networks

    From 1 comment
    • I think that there is room for this idea at a higher level of abstraction where pre-trained sub networks are exposed as command line utilities. cat tweets.txt | layer…
      iandanforth on HN

Questions

  • How would backpropagation work in a one-way pipeline

    From 1 comment
    • Excerpt: "layer is a program for doing neural network inference the Unix way. Many modern neural network operations can be represented as sequential, unidirectional streams of…
      peter_d_sherman on HN

Alternatives named

  • Clojure-based pipeline tools

    From 1 comment
    • Clojure is ideal for Unix-style pipeline programming. Few people will use the command line for neural network inference, I think it would be better to use clojure to implement.…
      lincpa on HN
  • Neural module networks from Berkeley

    From 1 comment
    • See also Trevor Darrell's group's work on neural module networks: https://bair.berkeley.edu/blog/2017/06/20/learning-to-reason-with-neural-module-networks/
      Donald on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/19738838)