If like me you’ve never really taken the time to take a look at the details and internals of AI in its current form of neural networks and machine learning, now is your chance because someone has written just that in MACRO11!.
Check out Damien Boureille’s Github page : https://github.com/dbrll/ATTN-11, and before you go there, check out the Dave’s Garage youtube channel detailed explanation of what is going on https://youtu.be/OUE3FSIk46g
Of course I had to run that on PDP2011. That took some doing – the MACRO11 I use for various bits of code in the project is the original Richard Krehbiel version, and that doesn’t like the .ASECT and .INCLUDE statements in Damien’s source. And the same also goes for the MACRO11 embedded in PDP11GUI.
Easy enough to fix – remove the .ASECT and location counter assignment in TRAIN.MAC, replace it with a .blkb 1000. Then replace each .INCLUDE statement with a copy of the contents of that file, feed it to PDP11GUI while you rebuild a PDP2011 with the ODT bootroms. Then run MACRO11, click on ‘deposit’ in the listing window, and observe lots of deposits scrolling by in the terminal window.
Then the moment of truth: type L 1000, then S.
It’ll take about a minute, and, frankly, the blinkenlight patterns on the console were somewhat underwhelming. But hey, I ran a proper AI on my very own CPU! Yay!
@L 1000
@SATTN/11 - PAPER TAPE IS ALL YOU NEED
D=16 SEQ=8 V=10 PARAMS=1216 Q8/Q15/Q16
TRAINING...
STEP 50 LOSS=1.6113 ACC=0.217
STEP 100 LOSS=2.1865 ACC=0.255
STEP 150 LOSS=2.1511 ACC=0.267
STEP 200 LOSS=1.3874 ACC=0.395
STEP 250 LOSS=0.0500 ACC=0.662
STEP 300 LOSS=0.0019 ACC=0.982
STEP 350 LOSS=0.0009 ACC=1.000
4 7 0 7 2 9 0 7 -> 7 0 9 2 7 0 7 4 OK
0 9 8 1 2 3 8 5 -> 5 8 3 2 1 8 9 0 OK
8 1 6 1 6 7 8 7 -> 7 8 7 6 1 6 1 8 OK
4 9 0 5 0 5 0 3 -> 3 0 5 0 5 0 9 4 OK
6 3 2 1 6 9 2 7 -> 7 2 9 6 1 2 3 6 OK
2 9 4 5 8 1 8 1 -> 1 8 1 8 5 4 9 2 OK
6 5 8 7 4 5 0 1 -> 1 0 5 4 7 8 5 6 OK
0 9 8 3 2 3 2 3 -> 3 2 3 2 3 8 9 0 OK
0 7 4 1 0 5 4 5 -> 5 4 5 0 1 4 7 0 OK
2 7 4 7 4 7 2 5 -> 5 2 7 4 7 4 7 2 OK
ACCURACY 10/10
2 Comments
Very cool. Do you run PDP11GUI under Wine? I should give this a try.
I use VirtualBox – also for the AVR code that I use for the MINC peripherals, and my old pctestinstruments logic analyzer.
But (as I saw later) you can also check the port Dave from Dave’s Garage did, and run ATTN/11 on 211BSD. Link in the youtube video doodlydoo.