Skip to content

Commit 738c6d9

Browse files
author
Randall C. O'Reilly
committed
v1.0.0 release -- version.go updated
1 parent e9b17d9 commit 738c6d9

File tree

6 files changed

+186
-24
lines changed

6 files changed

+186
-24
lines changed

README.md

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,19 @@
44
[![GoDoc](https://godoc.org/github.com/emer/emergent?status.svg)](https://godoc.org/github.com/emer/emergent)
55
[![Travis](https://travis-ci.com/emer/emergent.svg?branch=master)](https://travis-ci.com/emer/emergent)
66

7-
This is the new home of the *emergent* neural network simulation software, developed primarily by the CCN lab at the University of Colorado Boulder. We have decided to completely reboot the entire enterprise from the ground up, with a much more open, general-purpose design and approach.
7+
This is the new home of the *emergent* neural network simulation software, developed primarily by the CCN lab at the University of Colorado Boulder (now at UC Davis): https://ccnlab.org. We have decided to completely reboot the entire enterprise from the ground up, with a much more open, general-purpose design and approach.
88

99
See [Wiki Install](https://github.com/emer/emergent/wiki/Install) for installation instructions, and the [Wiki Rationale](https://github.com/emer/emergent/wiki/Rationale) and [History](https://github.com/emer/emergent/wiki/History) pages for a more detailed rationale for the new version of emergent, and a history of emergent (and its predecessors).
1010

11-
# Current Status / News
12-
13-
* 9/10/2019: First batch of [Comp Cog Neuro sims](https://github.com/CompCogNeuro/sims) complete, for chapters 2-4, which drove development of lots of good stuff in [etable](https://github.com/emer/etable), including `simat` package for similarity / distance matricies, PCA, and cluster plots -- and a few key advances in eplot functionality. See the [etable wiki](https://github.com/emer/etable/wiki) for docs and example code, and the `family_trees` as an example textbook sim with lots of this code.
14-
15-
* 8/26/2019: Starting on [CCN Textbook](https://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main) simulations using new emergent: https://github.com/CompCogNeuro/sims -- in course of doing so, finding and fixing a number of issues, including getting the OpenWtsJSON function to work (using a corrected JSON format), and improving the NetView etc. For those following along with their own forks, this is a burst of change that should settle down in a week or so.
11+
See the [ra25 example](https://github.com/emer/leabra/blob/master/examples/ra25/README.md) in the `leabra` package for a complete working example (intended to be a good starting point for creating your own models), and any of the 26 models in the [Comp Cog Neuro sims](https://github.com/CompCogNeuro/sims) repository which also provide good starting points. See the [etable wiki](https://github.com/emer/etable/wiki) for docs and example code for the widely-used etable data table structure, and the `family_trees` example in the CCN textbook sims which has good examples of many standard network representation analysis techniques (PCA, cluster plots, RSA).
1612

17-
* 6/12/2019: **Initial beta release!!** The [leabra ra25](https://github.com/emer/leabra/blob/master/examples/ra25/README.md) example code is now sufficiently feature complete to provide a reasonable starting point for creating your own simulations, with both the Go and Python versions closely matched in functionality so you can choose either way (or explore both!). We expect that although there will certainly be changes and improvements etc (there are many planned additions already), the existing code should be reasonably stable at this point, with only relatively minor changes to the API -- it is now safe to start building your own models! Please file issues on github (use the emergent repository's issue tracker) for any bugs or other issues you find.
18-
19-
* 5/2019: NetView nearly fully functional. `eplot` package and `Plot2D` widget provides basic dynamic gui for 2d plots. See [TODO](#todo) section below for current planning roadmap for a push to get all the basic functionality in place so people can start using it!
13+
# Current Status / News
2014

21-
* 4/2019: separated the `leabra` and `etable` repositories from the overall `emergent` repository, to make it easier to fork and save / modify just the algorithm components of the system independent of the overall emergent infrastructure, and because `etable` (and associated `etensor` and `bitslice`) packages are fully independent and useful more generally. This means that `emergent` is just a toolkit library with no runnable `examples` executables etc -- all of that has moved over to the `leabra` repository including the `python` wrapper. You just need to replace "github.com/emer/emergent/leabra/leabra" -> "github.com/emer/leabra/leabra" in your imports, and likewise "github.com/emer/emergent/etable" -> "github.com/emer/etable/etable", "github.com/emer/emergent/etensor" -> "github.com/emer/etable/etensor".
15+
* 12/30/2019: Version 1.0.0 released! The [Comp Cog Neuro sims](https://github.com/CompCogNeuro/sims) that accompany the [CCN Textbook](https://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main) are now complete and have driven extensive testing and bugfixing.
2216

2317
* 3/2019: Python interface is up and running! See the `python` directory in `leabra` for the [README](https://github.com/emer/leabra/blob/master/python/README.md) status and how to give it a try. You can run the full `leabra/examples/ra25` code using Python, including the GUI etc.
2418

25-
* 2/2019: An initial complete basic-level implementation is now in place, and you can actually run `Leabra` models in the new emergent! See the `examples/ra25` directory for a runnable, standalone Go program that you can compile use to train a "random associator" test model. This is definitely the place to start in understanding how everything works.
26-
27-
* 2/2019: Initial benchmarking (see `examples/bench` for details) shows that the Go version is roughly 20-30% slower than C++ emergent for larger-sized models on a single processor, and while it does benefit significantly from multi-CPU processors, it does so less than the C++ version, which can be 2x faster than the Go version for some sizes and numbers of processors. Nevertheless, we think the massive improvement in code simplicity and flexibility makes these performance tradeoffs worth it for most typical applications.
19+
* 2/2019: Initial implementation and benchmarking (see `examples/bench` for details -- shows that the Go version is comparable in speed to C++).
2820

2921
# Key Features
3022

@@ -82,6 +74,8 @@ Here are some of the additional supporting packages:
8274

8375
* `patgen` supports various general-purpose pattern-generation algorithms, as implemented in `taDataGen` in C++ emergent (e.g., `PermutedBinary` and `FlipBits`).
8476

77+
* `esg` is the *emergent stochastic / sentence generator* -- parses simple grammars that generate random events (sentences) -- can be a good starting point for generating more complex environments.
78+
8579
* `popcode` supports the encoding and decoding of population codes -- distributed representations of numeric quantities across a population of neurons. This is the `ScalarVal` functionality from C++ emergent, but now completely independent of any specific algorithm so it can be used anywhere.
8680

8781
* `erand` has misc random-number generation support functionality, including `erand.RndParams` for parameterizing the type of random noise to add to a model, and easier support for making permuted random lists, etc.
@@ -94,12 +88,10 @@ Here are some of the additional supporting packages:
9488

9589
# TODO
9690

97-
Last updated: 12/09/2019
91+
Last updated: 12/30/2019
9892

9993
This list is not strictly in order, but roughly so..
10094

101-
- [ ] fix bugs, try to update glfw including keyboard input fixes
102-
10395
- [ ] write converter from Go to Python
10496

10597
- [ ] MPI -- see [MPI Wiki page](https://github.com/emer/emergent/wiki/DMem)
@@ -108,7 +100,8 @@ This list is not strictly in order, but roughly so..
108100

109101
- [ ] pvlv
110102

103+
- [ ] GPU -- see https://github.com/gorgonia/gorgonia for existing CUDA impl -- alternatively, maybe try using opengl or vulkan directly within existing gogi/gpu framework -- would work on any GPU and seems like it wouldn't be very hard and gives full control -- https://www.khronos.org/opengl/wiki/Compute_Shader -- 4.3 min version though -- maybe better to just go to vulkan? https://community.khronos.org/t/opencl-vs-vulkan-compute/7132/6
104+
111105
- [x] virtual environment -- [eve](https://github.com/emer/eve) is under way -- no actual physics yet but core infrastructure in place and usable for basic boxy objects under external control.
112106

113-
- [ ] GPU -- see https://github.com/gorgonia/gorgonia for existing CUDA impl -- alternatively, maybe try using opengl or vulkan directly within existing gogi/gpu framework -- would work on any GPU and seems like it wouldn't be very hard and gives full control -- https://www.khronos.org/opengl/wiki/Compute_Shader -- 4.3 min version though -- maybe better to just go to vulkan? https://community.khronos.org/t/opencl-vs-vulkan-compute/7132/6
114107

emer/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ clean:
1717
$(GOCLEAN)
1818

1919
# NOTE: MUST update version number here prior to running 'make release'
20-
VERS=v0.5.0
20+
VERS=v1.0.0
2121
PACKAGE=emer
2222
GIT_COMMIT=`git rev-parse --short HEAD`
2323
VERS_DATE=`date -u +%Y-%m-%d\ %H:%M`

emer/version.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
package emer
44

55
const (
6-
Version = "v0.5.0"
7-
GitCommit = "113261b" // the commit JUST BEFORE the release
8-
VersionDate = "2019-06-12 10:15" // UTC
6+
Version = "v1.0.0"
7+
GitCommit = "e9b17d9" // the commit JUST BEFORE the release
8+
VersionDate = "2019-12-30 10:19" // UTC
99
)
1010

go.mod

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module github.com/emer/emergent
2+
3+
go 1.13
4+
5+
require (
6+
github.com/Masterminds/vcs v1.13.1
7+
github.com/alecthomas/chroma v0.7.0
8+
github.com/apache/arrow/go/arrow v0.0.0-20191228022829-81f0d4228e59
9+
github.com/aymerick/douceur v0.2.0
10+
github.com/chewxy/math32 v1.0.4
11+
github.com/emer/etable v1.0.0
12+
github.com/go-gl/mathgl v0.0.0-20190713194549-592312d8590a
13+
github.com/goki/gi v0.9.10
14+
github.com/goki/ki v0.9.10
15+
github.com/goki/pi v0.5.10
16+
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
17+
github.com/pmezard/go-difflib v1.0.0
18+
github.com/srwiley/rasterx v0.0.0-20181219215540-696f7edb7a7e
19+
github.com/srwiley/scanx v0.0.0-20190309010443-e94503791388
20+
golang.org/x/image v0.0.0-20191214001246-9130b4cfad52
21+
gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b
22+
)

0 commit comments

Comments
 (0)