-
Notifications
You must be signed in to change notification settings - Fork 9
Meeting notes
Billy:
- will be using some parts of plenoptic in dissertation
- MAD competition only works for metrics now
Kate:
- PS scale param doesn't change anything
- go through PR
Nikhil:
- Synthesis PR
- picking stuff from kanban to see what else is needed
Lyndon:
- GPU tests
- upgrade to pytorch 1.10?
Xinyuan:
- Perceptual metrics tutorial
Things absolutely required for JOSS:
- Tutorials (geodesics, steerable)
- Almost done synthesis refactor
- refer to project board for details
Billy:
- Superclass, refactoring metamer
Jerry:
- Adjusted NSPD and improved
- Will try superrvised learning on human perceptual data
Nikhil:
- pushed to complex pyramid
No updates Lyndon, Billy, Teddy:
- no update
Pierre:
- Just pushed some fixes on autocorr functions
Jerry:
- NSPD
- trained the regression problem
Nikhil:
- Merged master + push for final review
Lyndon:
- worked on model branch and fixed eigendistortion tests + efficiency
Teddy:
- Steerpyr demo notebook
- geodesic notebook
- still no dice w/ reproducing L2 results
Nikhil:
- broken tests possibly due to image rgb2gray but unsure
- Looked at Lyndon's PR
Jerry:
- Working on NSPD fitting regression
Pierre:
- Working on polar steerable pyramid
- nonlinear invertible
Pierre:
- Merged Geodesics branch!
- working on factorized pyramid
- normalized steerable pyramid distance
Jerry:
- Work on NSPD
Nikhil:
- Made push to pyramid, fixed energy test issues
- notebook issue
Lyndon:
- Optimizing models
- Fix eigendistortion tests
Billy:
- tests
- synthesis superclass
Teddy:
- Reproducing geodesic figure
- merge new complpex steerpyr and finish steerable pyramid demo
Kate:
- synthesis superclass
- tests in portilla branch
Billy, Pierre, Lyndon, Teddy:
- no update
Jerry:
- addressed PR comments for NLPD
Nikhil:
- will push complex steerpyr soon and fixed test
Kate:
- went through synthesis class and methods
- will meet w/ billy to discuss planning out plotting and the synthesis super class
Billy:
- Went through Pierre's PR
Lyndon:
- no update
Xinyuan:
- Perceptual metric PR (nlpd and laplacian pyramid)
Pierre:
- helped w/ perceptual branch
- implementing Billy's PR comments on geodesic PR
- implementing undercomplete conditional geodesic optimization
Teddy:
- Working with new conditional geodesic optimization but still not getting any obvious reproduction of original results yet
Nikhil:
- commenting code of pyramid
- not-downsampled pyramid still not have same energy as downsampled in bands when using real pyramid but not complex
Kate:
- No major update w/
- Prep for superclass overhaul
General:
- Tests still stalled
- Try pushing again to see if it works now
Pierre:
- Working on conditional geodesic optimization
Lyndon:
- No update
Billy:
- Fixed caching issue w/ CI
Teddy:
- Still trying to reproduce L2 vs max pooling geodesic results
Jerry:
- laplacian pyramid and nlpd
General:
- CI checks are not running reliably
Billy:
- reproduce MAD competition results
Nikhil:
- addressed complex steerpyr PR comments
- added more tests
- not-downsampled version should have same energy in bands as downsampled version
- works for complex but not real
Lyndon:
- no update
- need to fix eigendist tests and model update
Teddy:
- issues w/ geodesic fig reproducing
- difficulty showing differences btwn max vs L2 pooling
Kate:
- Changing draft to formal PR once complex steerpyr is merged to master
- Plan to work on abstract class
Jerry:
- MSSIM merged
- Working on Laplacian pyramid and downsampling/padding
Pierre:
- Geodesics: added summary to PR
- Works on GPU
- PR ready for review
Sprint next week
Jerry:
- Pushed prelim MS-SSIM
- Need tests still
Kate:
- Pulled complex pyr and tests now pass!
- dtype bug in metamer
- plan for sprint is to make ipynb for PS model;
- also ipynb for matching PS model w/ matlab
Teddy:
- recreating ipynb figures from geodesic paper
- max pool vs L2 pooling doesnt show same effects as paper
Pierre:
- added patches to geodesic to speed it up
- working on back-end currently
- expanding and fixing broken tests
- conditional geodesic not complete yet
Lyndon:
- working on frontend models to re-speed up tests and computations
- parallelizing convolutions
- fixing broken tests
Jerry:
- no update
Billy:
- Looked at Lyndon's PR and merged
Kate:
- Pulling in steerpyr and resolving conflicts
Pierre:
- Resolved conflicts with master branch
- Spoke with Teddy who will use it soon
- ipynb needs finishing
Lyndon:
- Fixing models tests
- should move canonical_computations/signal.py code to tools/conv.py
Pierre:
- Fixing geodesic bugs
- Implementing optimization but running into broken grad
Billy:
- Looked at Jerry's PR
- Pyrshow implementation
Nikhil:
- PR for complex pyr
- styllistic changes left
- Broken test due to atan2 but can switch to angle; used in nspd metric
Jerry:
- Merged gpu tests into master
- test_mad.py runs fine alone, but entire suite for some reason fails
Teddy:
- PR opened for steerpyr demo
- will need to re-merge nikhil's branch
- amalgamate existing steerpyr notebook
- thinking about vgg16 geodesic
Billy:
- PRs w/ code removal and test fixes merged
- Spent time working on code in complex_pyramid branch
- Reviewing Jerry's PR
Jerry:
- Addressing Billy's PR comments
Teddy:
- Reviewed Lyndon's PR
- Stabilize notebook and turn into PR soon
Pierre:
- Merging from master to PR & resolving tests
Lyndon:
- GPU routines set up by Dylan @ SCC
- Model and eigendist index PR ready for review/merge
General:
- Next sprint: April 22-23
Kate:
- Pulled steerpyr into branch
- looked over some PRs
Billy:
- addressed comments in remove_pooling PR
- MAD tests dropped down to 7 (SEVEN) minutes down from 4+ hours!
- Build test no longer uses ffmpeg; notebook tests do
Pierre:
- Working on 1.8 changes
- models:
- spectral model
- x-spectral model
- another version of texture model
- potential descendents of texture ideas
Nikhil:
- Fixed broken tests
- PR ready for review; will pull from master
Xinyuan:
- Working on GPU tests
- Will wait for test PR to be merged
Teddy:
- Complex convs not supported by pytorch yet
- artifacts in learning filters
Lyndon:
- Eigendist small fix
- modle_update PR ready for review
Lyndon:
- Setting the amplitude of the center to be a greater than surround matches Alex's implementation
- filter = normalize(1.25*center - surround)
Pierre:
- Working through merge conflicts with master
- Noticed breaking tests due to random weight init in FrontEnd
Kate:
- Went through Billy's PR
- Work with Nikhil's code to
Nikhil:
- PyTorch 1.8 branch pushed
- Fixing breaking tests
Jerry:
- Went through Billy's PR
- Continue to work on GPU-related errors and add GPU tests
Teddy:
- Pushed 2nd version of steerpyr demo without downloaded data
- Steerpyr notebook includes eigendistortions
Billy:
- Tests now only trigger in PRs
- cached python envs
- ffmpeg required for notebook tests but not build tests
Nikhil:
- Pushed ComplexSteerPyr
Pierre:
- changed data tree structure
- minor pushes to geodesic branch
- Began improving image loading (same image loaded many times) in testing (Billy may finish this)
Jerry:
- Worked on tests that break w/ GPU, specifically test_eigendistortion and test_metamers
- changed test_plenoptic so tests run on GPU if available
Kate:
- Working on poolin PR and portilla-simoncelli tonight
Teddy:
- initial push to steer pyr demo (needs to be deleted and redone because data was pushed)
- going to add a synthesis example to show grads can be pushed through pyramid
- question about using torch lightning. I.e. do training scripts need to be an isolated unit as opposed to contained w/ in the notebook
Lyndon:
- Worked on binder PR
- Working on models branch
- Discussion about how to normalize DoG filters
General:
- 5:30PM evening meeting
- Tomorrow morning meeting @ 10AM
- ffmpeg isuse might be resolved with new automated workflow recommended by billy
- Setup.md and link from readme
Kate:
- Waiting for complexsteerpyr
- Getting PS to work with other synthesis methods
Billy:
- Made PR yesterday removing lots of code
- Testing quality of life improvements
- Fixing imshow
Pierre:
- working on geodesic branch integrating PR comments
Nikhil:
- Complex SteerPyr
- Will push early version so Kate can use
Lyndon:
- working on frontend model
- models
Teddy:
- Steerpyr tutorial
- work thru user-facing readme.md and setup.md
Xinyuan:
- made first PR this week
- start working on GPU-enabling tests
General:
- Sprint next week
- Added Teddy and Jerry to the organization
Billy:
- Hoping to chop out code next sprint
- Removing pooling window-related code
- move to standalone repo in lcv
- synthesis args and kwargs will be pared
Lyndon:
- New PR for Binder notebooks
Nikhil:
- Tests for band interpolation not worth effort
- Few more tests needed for steerpyr
- Will push before sprint
Kate:
- No major update
- Would like PR reviewed during sprint
Teddy:
- Willing to contribute to geodesic or steerpyr tutorial
Pierre:
- Working on PR
Billy:
- PR merged!
Lyndon:
- No update.
Other notes:
- Pyrtools animshow debugging and fixes.
- Possibly remove ffmpeg from github actions?
- Xinyuan would like to start working with plenoptic.
Work on Need to have/Nice to have before Joss submission.
Nikhil:
- Potential floating-point issue with SteerPyr images
- Removing mean results in very small pyr responses
- Raise warning for images w small mean
Billy:
- made changes in display fixes PR - largely comments/explanations
- display test optimization
Kate:
- plan on helping w synthesis and display refactor
Lyndon:
- going thru Billy's PR
Next sprint on March 18-19. TODO: synthesis and display refactoring, and examples folder.
Pierre:
- Going through Billy's extensive comments on PR
Billy:
- Test display code, used python fixtures
Kate:
- GPU-enabled
- ran python Black
Lyndon:
- preliminary models work done
Kate:
- got GPU working -- need to GPU-ify PS model
Billy:
- display finalize
- change how/where optimize is written
- spend time to reproduce matlab mad competition results
Pierre:
- Lyndon's PR accepted
- Remove code from geodesic branch to merge PR today
Lyndon:
- Addressed Pierre's PR
- PR for typehinting
Potential new general meeting times will be Tues or Thurs at 11AM.
Pierre will look over Lyndon's PR this afternoon.
Kate:
- display code for portilla-simoncelli,
- testing on GPU
- add tests: - synthesis test given seed - test of normalized output - test w/ GPU
Billy:
- finish up changes to display code dealing w RGB images
- go over
update_plot()
w/ Kate
Pierre:
- Merge geodesics branch
- Do conditional geodesic in different branch
Nikhil:
- Complex steerable pyramid
- there was a small issue w tight frame/FFT normalization
- dict will no longer be an attribute; always output dict
- dict2tensor method implemented, and optional
Lyndon:
- Merge eigendistortion PR once implemented
- Work on Models, including L, LN, FrontEnd
General:
- NBReview app integrated
- Redundant loss functions: mse and L2
- Wew meeting time?
Pierre:
- Broken notebooks, but unsure why
- remove fit.py since none of those methods are being used
- Notebooks 01, 03, 05, 06, 08 failing
Billy:
- Looked at lyndon's PR
- display branch
- replace pt with po.imshow
- should stochastic weight averaging be a req?
- pass an optimizer as argument instead of just strings
Lyndon:
- change frontend filter size from default 31x31
- requires_grad and pretrained flags
- save state_dict of FrontEnd
- not implemented exception for save and load and to
- pass ax explicitly into plot_distorted_image?
General:
- Next spring Feb 18-19
Kate:
- build python notebook for PS
- finishing display code
- profiling
- gpu
- batch synthesis
- document differences btwn matlab and python of fwd pass and optimizaiton
- notebook with replication
- fix broken tests & add synthesis tests confirming solution
Lyndon:
- ask Alex about sizes of images on which frontend was trained
- ask him about masking
- remove steps from tqdm
- have frontend model have pretrained flag to update state
- typehinting uniformization
Billy:
- display code. pr not ready yet
- rgb images
- remove seaborn requirement
- remove pyrtools.imshow to po.imshow()
Pierre:
- ci build tests failing, but seems to be not our fault
- tools.signal.py has some redundant functions
Have post-sprint meeting on Monday Feb 01 10am instead of this afternoon.
Lyndon:
- almost done eigendist tutorial
- strange artifacts for front-end model | apply disk mask?
- internalize plotting functions
Pierre:
- merge billy's master changes
- many tests do not pass for some reason
- fair amount of documentation added
Billy:
- 2 simple PRs to review
- helping kate with optimization
Kate:
- matlab coarse-to-fine is done differently than ours
- getting to the bottom of high-freq artifacts
Nikhil:
- going thru line-by-line for pyramid
End of day meeting at 5pm
Priorities:
- Core tutorials!
- blitz tutorial
- advanced
- preliminary tutorials (loop Eero in at this point).
pierre:
- geodesic docs
kate:
- losses for P-S model
billy:
- go through lyndon's comments on PR
lyndon:
- tutorial cleaning
Tutorial 0/preliminaries:
- perhaps lives in its own separate folder for newcomers
- introduce ideas around linear model
- 1D signal
- how would we properly motivate geodesics for linear model?
- First principles, blitz 60minutes tutorial,
What should a blitz look like?
- one nonlinear model
- demo synthesis methods
Sprint next week:
- 11AM start
- 1 Hour discussion about tutorial 0 and arrangement of tutorials
Nikhil:
- complex tensor
- Synthesis superclass abstraction
Lyndon:
- eigendist tutorials
- display code
Billy:
- display issues
- synth display code doesnt work w rgb
Pierre:
- work on geodesic stuff from november sprint list
- tutorial0 (linear case)
- merge geodesic branch
Kate:
- plotting portilla-simoncelli stats in meaningful way
- quantify convergence for overall and indiv statistic loss
- quantify differences between matlab and python
- starting from white noise, end up w/ structured highfreq noise in result
- starting with smaller Gaussian noise, result looks more reasonable
- using plots to better assess/evaluate what is happening, e.g. divide by scale/type
Miscellaneous:
- python Black?
- docstring style
- for
po.imshow
, want to enforce 4d tensors because everything else requires it- also, handle complex tensors correctly
- and double-check our model outputs
- add
po.pyrshow
, using Nikhil'sconvert_pyrshow
function - there are three cases for
bchw
:- multi-batch, 1 channel: can do automatically
- multi-batch, RGB channel: can do automatically (but add an option to override the assumption that 3 channels means RGB)
- multi-batch, multi-channel: can't do automatically, user must specify either 1 channel (and all batches) or 1 batch (and all channels)
- need to decide, at a hgih leve, what we want in tutorials and example folders. i.e., what content needs to be covered. this is a good thign to cover in our spring
- Nikhil is almost done with his steerable pyramid notebook, will push by next week. then
tools_organizations
branch will be ready for merge - Kate's weird kernel crash is back, though there's a workaround. she'll open an issue to keep track
- Kate will start bringing normalization and coarse-to-fine into Portilla-Simoncelli texture (and look into speed)
- Billy should move
generate_norm_stats
andzscore_stats
intotools/optim.py
, on theabstractions
branch. They may be useful for other cases? - Lyndon is continuing to work on the eigendistortion tutorial, should be ready by next week (then we can merge the
fix-autodiff
branch?) - we should figure out and make explicit what we do with multiple channels (i.e., we treat each separately because we care about grayscale)
- during sprint: look into CoLab / BinderHub for running tutorials in browser. CoLab has cool features, but Lyndon and Billy are a bit leery of relying on Google
- Billy wants to show code can re-generate existing MAD competition examples, so should reach out to Zhou Wang about this
- Billy should send Zhou Wang an email to see if he's comfortable sharing the MAD Competition results he sent
- Working through Nikhil's new notebook, the tutorial for steerable pyramid highlighting the differences between
plenoptic
andpyrtools
implementations- spent a lot of time discussing relationship between downsampled and not-downsampled version, how to build tests for the new not-downsampled version. decided that the energy should be the same between them (relatively easy to check) and that if you sub-sample the not-downsampled version, the pyramid coefficients should be identical to the downsampled version in the pixel domain (no filtering required).
- discovered our python 3.7 build on Travis CI is broken, looks like it's a matplotlib issue that they're aware of and working on (and there's a work-around there)
- should probably move the models Pierre added to the
tools_organizations
branch to a new branch (and delete them from that branch) because they might need a bit more work - pyramids are hard. we should add a link to David's handout somewhere in our documentation.
Once we add those tests, fix Travis build, and move Pierre's stuff, then we can merge that branch -- should be ready in next week. Lyndon and Billy's branches aiming to also merge in the next two weeks, before the sprint.
Starting the sprint! Will go from now until Tuesday, August 8.
- Will meet every day in the morning and evening for a quick stand up:
- morning: everyone has ~5 minutes (hard cut-off at 6) to describe what they're working on in the coming day.
- evening: everyone has ~5 minutes (hard cut-off at 6) describe what they worked on, what they accomplished, what they're stuck on, and set up potential meetings for help.
- Evening meeting is at 5:30pm EST, so will head to tea time afterwards.
- First, everyone wants to finish the stuff they were hoping on working on before the sprint started.
- Then, we'll work on documentation, tutorials, and examples.
- we want an intro page that basically answers "why should you use this?", so has some flashy examples for each method (pointing to literature), as well as examples of adversarial examples to motivate why it's important.
- "notebook 0": works through synthesis methods with a linear model
y=Ax
, focus on building intuition. - Overview tutorials for the models: steerable pyramid, texture statistics, pooling windows (and ventral stream?)
- More detailed tutorial for each synthesis method (focus on use, point to papers for going into the math, defer to documentation for lots of details on attributes and arguments)
- Building new model, what do you need to ensure that it works well with our methods.
- Building new synthesis method? lowest priority, because this will probably be done by someone in the lab. would still be good to have in order to make sure that
Synthesis
superclass is well-documented
- 1 and 2 are probably the pages that will have the most input from Eero.
- would also be nice to have something like a review paper summarizing the whole synthesis approach.
- stand ups:
- Billy:
- worked on SSIM, documented plenoptic version and got it matching matlab versions, both standard and weighted (as in MAD paper)
- meeting later this afternoon with Pierre to discuss SSIM more (don't understand all arguments, how to handle batch/channel)
- will add tests to match matlab
- using matlab weighted SSIM, generated images that look like those in the MAD paper, will check if plenoptic can generate similar and, if not, check the derivatives
- Kate: NMA tech support caused issues with terminal, so will have to do clean install and re-set up
- once that's done, will go back to Portilla-Simoncelli texture stats, making sure it can operate on 4d tensors, then run on many images, and write tests
- for tests, won't be able to compare directly to MATLAB because of known differences. will get the whys and hows documented there, add tests comparing with known plenoptic output
- once that's done, will go back to Portilla-Simoncelli texture stats, making sure it can operate on 4d tensors, then run on many images, and write tests
- Lyndon:
- working on Jupyter notebook tutorial for eigendistrotions, using FrontEnd model and VGG16 to recreate results from Alex's paper
- cleaning up documentation and inconsistencies, improving user experience for eigendistortions
- Pierre:
- working on animating subplots for steerable pyramid
- wants to get geodesics working and simplify them
- Nikhil:
- examining pyramid, got real pyramid passing the energy-matching test
- but discovered that complex is not -- how can both be tight frame?
- Billy:
- Travis CI
- we had run into an issue where tests exceeded max time allowed, so will need to fix, probably using build matrices
- Billy will add bugfix for new torch version to master, so others can pull in
- batch: handle reasonably so that if both images have same number of batches, they get compared 1-to-1, otherwise can be many-to-1.
- remove
size_average
argument (always return mssim with batch and channel), and get weighted version to have same shape - remove
window_size
andwindow
arguments (can add later if people need) - should normalize in 2d rather than 1d
- remove automatic ability for
val_range
, add more info in docs - change the external MAD plots to say best/worst for both SSIM and MSE and have them in same order
- Travis CI stuff fixed on master, everyone should pull in.
- Nikhil figured out the complex pyramid issues, just needs to double-check reconstruction and then we can merge tomorrow.
- Lyndon needs to finish up some tutorials and then is also ready to merge.
- Billy will not get the recreation of original MAD Competition results on abstractions branch, instead finish up tests and merge tomorrow, then start new branch of that recreation.
- Billy:
- needs to move coarse-to-fine together option over into abstractions branch if not there already
- get msssim function working again, then add ssim/msssim tests
- and merge!
- (we'll probably not manage to do a full review)
- Kate:
- for Portilla-Simoncelli texture stats, several stuff need doing:
- working with batch and channel (currently, only 1x1xHxW)
- make human-readable
- tests that prove it's close enough to MATLAB, baseline for future-proofing
- working with coarse-to-fine
- re-run on database of images to get norm factor
- how to prioritize? tests and human-readable first, then rest is more software-engineering-y and easier to bring others in
- for Portilla-Simoncelli texture stats, several stuff need doing:
- Nikhil:
- fixed pyramid should return tensor by default
- write method to convert between tensor and dictionary
-
pyr_coeffs
attribute should always be dictionray
- Lyndon: working on Jupyter Notebook tutorial
- Pierre: animations
hopefully by end of day, be read to merge branches from Nikhil, Lyndon, and Billy
- Pierre: animation is working, now needs to fix edge cases and then work on geodesics
- Lyndon: tests breaking on Travis but not locally, once that's done should be ready to merge
- Kate:
- making sure Portilla-Simoncelli can be built on a pyramid (in addition to an image) for tests because small differences between matlab and python get amplified and lead to larger mis-matches
- we think numpy and matlab are the same, and that the observed difference comes from small differences between numpy and torch's fft; they're within floating poitn error per element, but summed can get to like 10^-4
- documenting why it's different with matlab
- Nikhil: making progress, but the reconstruction tests have broken
- Billy:
- will be ready as soon as the comparison with MATLAB test is done, but how do we review? it's massive
- docstrings are overhwhelming so: remove attribute documentation if they're the same as arguments, think about hiding attributes, remove TODOs, conceptual part of it belongs elsewhere
- Kate will edit later today
- Nikhil: two new pyramid reconstruction errors, also exist in the pyrtools versions. they show up in odd-sized images and in pyramids with zero order. going to open an issue and document, then move on.
- Pierre: working on geodesics. would be nice to have an existing result to reproduce, not sure if we do.
- Lyndon: still working on tutorials, got sidetracked by weird error in testing. eigendistortion tests have all passed.
- Billy: tests done, still need to make changes to docs.
We'll have a meeting tomorrow morning (after stand-ups) to go over abstractions and how to use them.
- Lyndon: having trouble with FrontEnd distortions always showing up along edge. will create issue but won't wait to fix for merge, which we can do once tests pass
- Kate: still working through comparison to MATLAB, tracking down what comes from precision errors propagating and if any errors are additional
- we could try using float64 to get more precision (MATLAB uses that precision by default), but that requires going back through plenoptic and prytools code to get everything initialized in float64 (initializing as float32 and converting to it afterwards does not help). pytorch has a
set_default_dtype
function, which would hopefully do this, but numpy does not - will look into texture branch and whether we can delete
- we could try using float64 to get more precision (MATLAB uses that precision by default), but that requires going back through plenoptic and prytools code to get everything initialized in float64 (initializing as float32 and converting to it afterwards does not help). pytorch has a
- Nikhil: just one more test to pass, almost ready
- Pierre: geodesics code is coming together for simple example.
- wants to move some stuff out of class, potentially into superclass? discuss about abstrations
- wants to get spectral model working
- Billy: tests are done, still needs to finish docstrings changes
Billy, Pierre, and Lyndon discussing the Synthesis
superclass and how to use it for geodesics and eigendistortions
- it feels like spatial masks, clamping, and an objective that penalizes range all should be considered "constraints" and grouped together in some way, but not sure the best way to do that.
- would be nice to organize arguments in some way, because there are a lot, but how?
- Billy will:
- write up what attributes an inheriting class should have to make use of Synthesis's methods
- rename: image -> signal, target -> base, matched -> synthesized; so names make more sense for all methods
- change
update_plot
so it works for line plot as well. if there's only one line, will update that. if more than one, must specify the label (or pass an array that has the right number of observations
- then Pierre and Lyndon will start trying to adapt to their existing methods and reach out if/when any issues come up.
- Lyndon:
- table frequency of implementation of FrontEnd for now
- even with larger images, distortions for FrontEnd are still on edge (will open issue)
- tutorial is almost done (will not include FrontEnd for now)
- "it's like Zeno's Paradox"
- Nikhil: wants to avoid having to convert tensor to dict if input tensor and current pyr_coeffs don't have same number of scales/bands, should be fine.
- Pierre: fixed then broke geodesics, trying to simplify code
- Kate: stupid bug in generation of pyramids (in MATLAB), needs to see if that fixes most issues
- Billy: tests done, still working on docs
Our goal is now to merge the three open PRs by the end of the sprint
- Kate: tracking down Portilla-Simoncelli errors, setting up stuff to check systematically because they're not always consistent
- Lyndon: PR ready to merge, so everyone should look through on their own today and we'll merge at the end of the day. he'll look at adding documentation in the tools branch
- Pierre: tracking down some geodesics bugs
- Nikhil: check tests and update docs, but almost there
- Billy: finish docs
- Kate: long-standing bug was due to
==
instead of=
, once that was fixed then everything seems to be passing when usingfloat64
(though checkerboard error is higher than the rest. will get tests finalized, baseline version saved out, and then work on making it more human-readable in the several days after the sprint - Nikhil: not enough time today, still cleaning up and working on tutorial, but hopes to get final push done tonight
- Lyndon: added docstrings to stuff on
tools_organization
branch, then helped Pierre on geodesics - Pierre: solving issues on geodesics, but it's still not super well-behaved
- Billy: still working on docs
Final day
- Billy:
- needs feedback on PR
- will look at whether docs build and some plotting stuff if time
- Lyndon: merged PR!
- Kate: building tests, then trying to make things human readable. will want eyes later on the code to help with that
- Nikhil: just about to push, found bug in complex case but then will be done
- Pierre: geodesics, many small items on to do list. struggling to find good settings for a few different models.
- Billy: responded to Lyndon's suggestions, got docs working, started working on
update_plot
for lines - Kate: writing tests, found and fixed a bug.
- by end of week, will push tests into branch (and rename to
replicate_portilla_simoncelli
) and remove the stuff to remove
- by end of week, will push tests into branch (and rename to
- Pierre: added progress bar, trying VGG16, still having trouble getting geodesics well-behaved
- Lyndon: got started computing eigenvectors using gradient descent (for making compatible with
Synthesis
) - Nikhil: everything is pushed, merged from master. need eyes on PR and checking that everything works
Moving forward:
- by tomorrow's lab meeting, will merge Nikhil's branch, then Billy's. Then (later this week) Kate will remove the Portilla-Simoncelli stuff she wants to remove, then we'll make it public!
- we'll try to have another sprint in the fall, after Lyndon's quals in October
- more big picture goals:
- reproduce MATLAB MAD Competition results
- finalize Portilla-Simoncelli and reproduce results
- get geodesics working
- get geodesics and eigendistortions using
Synthesis
superclass - more models
- interoperability with BrainScore
- Nikhil's V2 model (once it's more stable, will use pre-trained version)
- merge
pooling
branch (needs to be cleaned up more) - vision science tutorial experiment: how would you use this for a psychophysics experiment
- getting other eyes on this (other folks in lab, Corey)
- submitting to JOSS, writing up review paper