Git Product home page Git Product logo

Comments (2)

floybix avatar floybix commented on June 3, 2024

3D input needs to be catered for in uniform-ff-synapses, this creates
synapses by mapping input topology to corresponding areas of column
topology. We will eventually need similar functionality when growing
distal synapses locally, as well as if we grow feed-forward synapses at run
time.

We could use your squash-last-dimension to get the input and columns into
the same dimensions before doing proportional scaling?... Maybe should
have a function to translate a point in one topology to a corresponding
nearest point on another topology?

On 4 December 2014 at 01:30, Marcus Lewis [email protected] wrote:

(require '[org.nfrac.comportex.demos.isolated-2d :as demo])
(demo/n-region-model 2)
==>
NullPointerException from clojure.lang.Numbers/add

Fewer than 3 dimensions are getting passed into
ThreeDTopology/index_of_coordinates

Before 5a860d8
5a860d8,
this code would cause a stack overflow, so this is just another layer of
the onion.

I'm tentatively exploring the issue, but feel free to jump in if it's a
no-brainer.

              Numbers.java:  961  clojure.lang.Numbers/ops
              Numbers.java:  126  clojure.lang.Numbers/add
             topology.cljx:   83  org.nfrac.comportex.topology.ThreeDTopology/index_of_coordinates
              columns.cljx:   61  org.nfrac.comportex.columns$uniform_ff_synapses$fn__11848/invoke
                  core.clj: 6353  clojure.core/mapv/fn
           ArrayChunk.java:   58  clojure.lang.ArrayChunk/reduce
             protocols.clj:   98  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:   31  clojure.core.protocols/seq-reduce
             protocols.clj:   54  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6289  clojure.core/reduce
                  core.clj: 6353  clojure.core/mapv
              columns.cljx:   55  org.nfrac.comportex.columns$uniform_ff_synapses/invoke
                cells.cljx:  638  org.nfrac.comportex.cells$layer_of_cells/invoke
                 core.cljx:   94  org.nfrac.comportex.core$sensory_region/invoke
                 core.cljx:  317  org.nfrac.comportex.core$region_network$fn__12331/invoke
             protocols.clj:  143  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:  147  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:   31  clojure.core.protocols/seq-reduce
             protocols.clj:   54  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6289  clojure.core/reduce
                 core.cljx:  324  org.nfrac.comportex.core$region_network/invoke
                 core.cljx:  345  org.nfrac.comportex.core$regions_in_series/invoke
          isolated_2d.cljx:  111  org.nfrac.comportex.demos.isolated_2d$n_region_model/invoke
          isolated_2d.cljx:  108  org.nfrac.comportex.demos.isolated_2d$n_region_model/invoke
                      REPL:    1  user/eval19149
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6666  clojure.lang.Compiler/eval
                  core.clj: 2927  clojure.core/eval
                  main.clj:  239  clojure.main/repl/read-eval-print/fn
                  main.clj:  239  clojure.main/repl/read-eval-print
                  main.clj:  257  clojure.main/repl/fn
                  main.clj:  257  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   67  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  624  clojure.core/apply
                  core.clj: 1862  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   51  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  183  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  152  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run


Reply to this email directly or view it on GitHub
#9.

Felix Andrews / 安福立
http://www.neurofractal.org/felix/

from comportex.

floybix avatar floybix commented on June 3, 2024

Wait, I remember now what I was thinking.
Typically we have a 2D column field receiving input from other 2D region(s)
with an added 3rd dimension of cells. So it makes sense to do local
topological mapping with only the first 2 dimensions, i.e. ignore the last
(cell) dimension when calculating spatial location.

Not sure whether this really works when we are combining dimensions of
several regions... but seems reasonable to just ignore the 3rd dimension
rather than trying to get the whole hypercube to conform.

On 4 December 2014 at 09:07, Felix Andrews [email protected] wrote:

3D input needs to be catered for in uniform-ff-synapses, this creates
synapses by mapping input topology to corresponding areas of column
topology. We will eventually need similar functionality when growing
distal synapses locally, as well as if we grow feed-forward synapses at run
time.

We could use your squash-last-dimension to get the input and columns into
the same dimensions before doing proportional scaling?... Maybe should
have a function to translate a point in one topology to a corresponding
nearest point on another topology?

On 4 December 2014 at 01:30, Marcus Lewis [email protected]
wrote:

(require '[org.nfrac.comportex.demos.isolated-2d :as demo])
(demo/n-region-model 2)
==>
NullPointerException from clojure.lang.Numbers/add

Fewer than 3 dimensions are getting passed into
ThreeDTopology/index_of_coordinates

Before 5a860d8
5a860d8,
this code would cause a stack overflow, so this is just another layer of
the onion.

I'm tentatively exploring the issue, but feel free to jump in if it's a
no-brainer.

              Numbers.java:  961  clojure.lang.Numbers/ops
              Numbers.java:  126  clojure.lang.Numbers/add
             topology.cljx:   83  org.nfrac.comportex.topology.ThreeDTopology/index_of_coordinates
              columns.cljx:   61  org.nfrac.comportex.columns$uniform_ff_synapses$fn__11848/invoke
                  core.clj: 6353  clojure.core/mapv/fn
           ArrayChunk.java:   58  clojure.lang.ArrayChunk/reduce
             protocols.clj:   98  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:   31  clojure.core.protocols/seq-reduce
             protocols.clj:   54  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6289  clojure.core/reduce
                  core.clj: 6353  clojure.core/mapv
              columns.cljx:   55  org.nfrac.comportex.columns$uniform_ff_synapses/invoke
                cells.cljx:  638  org.nfrac.comportex.cells$layer_of_cells/invoke
                 core.cljx:   94  org.nfrac.comportex.core$sensory_region/invoke
                 core.cljx:  317  org.nfrac.comportex.core$region_network$fn__12331/invoke
             protocols.clj:  143  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:  147  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:   31  clojure.core.protocols/seq-reduce
             protocols.clj:   54  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6289  clojure.core/reduce
                 core.cljx:  324  org.nfrac.comportex.core$region_network/invoke
                 core.cljx:  345  org.nfrac.comportex.core$regions_in_series/invoke
          isolated_2d.cljx:  111  org.nfrac.comportex.demos.isolated_2d$n_region_model/invoke
          isolated_2d.cljx:  108  org.nfrac.comportex.demos.isolated_2d$n_region_model/invoke
                      REPL:    1  user/eval19149
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6666  clojure.lang.Compiler/eval
                  core.clj: 2927  clojure.core/eval
                  main.clj:  239  clojure.main/repl/read-eval-print/fn
                  main.clj:  239  clojure.main/repl/read-eval-print
                  main.clj:  257  clojure.main/repl/fn
                  main.clj:  257  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   67  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  624  clojure.core/apply
                  core.clj: 1862  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   51  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  183  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  152  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run


Reply to this email directly or view it on GitHub
#9.

Felix Andrews / 安福立
http://www.neurofractal.org/felix/

Felix Andrews / 安福立
http://www.neurofractal.org/felix/

from comportex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.