Saturday, 5 December 2009

Day 4

Day 4
04/12/2009 21:09


Today I created an implementation plan for ConnectionField proxy.

In the nutshell, ConnectionField objects are where Topographica stores matrices of neural weights and some other stuff. I don't want to explain what they are exactly, because that would take up to a couple of pages of text and wouldn't be quite related to what I was about to write in this post. Maybe I'll do that some other day, but for now treat them as wrappers around 2d arrays of float values, because that's what they are, essentially.

I started my proxy implementation plan from trying to manually instantiate a ConnectionField object from Topographica prompt (basically, a modified Python prompt):

topo_t000000.00_c1>>> from topo.base.cf import ConnectionField, CFSheet

topo_t000000.00_c2>>> s = CFSheet()

topo_t000000.00_c3>>> c = ConnectionField(s)



That was supposed to create a ConnectionField c holding a 3x3 matrix, but instead gave an error, complaining about some masks (err... maybe voodoo masks???). A week or two ago Jim (my Project Supervisor) said he had the same kind of problem, then Chris fixed this. I decided to merge trunk into my branch on the svn to get this fix, however after updating my local copy from the svn branch, I noticed that some of topographica's files which I never touched before got modified. That was weird. Tried instantiating ConnectionField again and ... it worked!!! Either someone has merged trunk into my branch for me or this all is a complete mistery. Anyway, I wasn't sure how to merge svn branches so I'm glad I didn't have to spend time on this.

1 comment:

  1. I'm not sure exactly what you did when you say "updating my local copy from the svn branch". Surely you must have run some kind of merge command to get the trunk's changes into your branch?

    Anyway, it's important to know what's going on so that at the end of your project it's easy to merge your code back into the trunk, because lots of people will want your work :)

    Chris

    ReplyDelete