spaun2.0 icon indicating copy to clipboard operation
spaun2.0 copied to clipboard

What are the minimum specifications for hardware?

Open davidcas9 opened this issue 4 years ago • 3 comments
trafficstars

Hello all,

I'm trying to modify some of the model's components with a bit more subcortical detail, but it looks like when I run nengo-gui I'm unable to run the model and cannot drag across the screen. I figure this may be because I'm running on a Macbook pro 2014. These are my specs:

Processor: 2.6 GHz Dual-Core Intel Core i5 RAM: 8 GB 1600 MHz DDR3 Integrated Graphics: Intel Iris 1536 MB

Should I instead be running Spaun on a VM on GCP or AWS or something?

Thank you so much!

davidcas9 avatar Dec 10 '20 18:12 davidcas9

Hi!

The Spaun2.0 model can be configured to run on your system by changing the dimensionality of the model (either by using the -d flag when calling run_spaun.py, or by editing the default value in run_spaun.py) to something like 32 or 64. The performance of the model will not be as accurate with these lower dimensions, but you should be able to at least run it directly from the console (not using NengoGUI, just by calling python run_spaun.py ...)

As for running it in NengoGUI, you'll probably want to reduce the dimensionality down to something like 4 or 8. The reason the GUI chugs when displaying Spaun is because Spaun's network structure contains a lot of connections that the GUI has to render (some of the connections are silently rendered even when not shown). Increasing the dimensionality of the model creates even more connections, causing it to lag further. I find the GUI most useful only to understand how the model is structured and architected. If you want to run the model to get behavioural results, you'll definitely want to run it through the python console.

To run the full model, you'll definitely need to run it on a beefier machine. The machine will need at least 16GB of RAM, and if it has a dedicated graphics card, you can use NengoOCL to speed up the simulation run times. If you don't have access to a dedicated GPU, the run time of the model will depend on the processor. It can take up to 3-4 full days to complete a 30s simulation depending on the processor in use (on a dedicated GPU, with NengoOCL, a 30s run will take somewhere from 1-1.5 hours to complete).

xchoo avatar Dec 11 '20 02:12 xchoo

Thank you for the detailed, prompt response. Lowering dimensionality to 32 using the below command gets nengo-gui to run smoothly, but returns the following warnings. It works though, so thanks again!:

python run_spaun.py --nengo_gui -d 32 --ocl --ocl_platform=0 --ocl_device=0

======================== RUN 1 OF 1 ========================
MODEL SEED: 1607717572
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=34)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=36)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=38)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=39)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=40)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=42)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=43)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=44)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=45)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=46)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=47)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=48)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=49)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=50)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=51)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=52)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=53)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=54)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=55)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=56)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=57)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=58)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=59)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=60)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=61)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=62)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=63)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=64)
  warnings.warn(
/Users/me/neuroscience/spaun2.0/spaunenv/lib/python3.9/site-packages/nengo/spa/vocab.py:109: UserWarning: Could not create a semantic pointer with max_similarity=0.20 (D=32, M=65)
  warnings.warn(
RAW STIM SEQ: A

davidcas9 avatar Dec 11 '20 20:12 davidcas9

Those warnings are to be expected when you lower the dimensionality of Spaun. Those warnings are just letting you know that the semantic pointers (Spaun's representation of concepts) that have been generated no longer meet some threshold of similarity. For example, "Apple" and "Orange" are typically distinct concepts, but reducing the dimensionality has made them not as distinct as before.

xchoo avatar Dec 11 '20 21:12 xchoo