Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What are the minimum specifications for hardware? #13

Open
davidcas9 opened this issue Dec 10, 2020 · 3 comments
Open

What are the minimum specifications for hardware? #13

davidcas9 opened this issue Dec 10, 2020 · 3 comments

Comments

@davidcas9
Copy link

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 davidcas9 changed the title What are the minimum specifications for hardware What are the minimum specifications for hardware? Dec 10, 2020
@xchoo
Copy link
Owner

xchoo commented Dec 11, 2020

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).

@davidcas9
Copy link
Author

davidcas9 commented Dec 11, 2020

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

@xchoo
Copy link
Owner

xchoo commented Dec 11, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants