jni / lma-2021-bioimage-analysis-python Goto Github PK
View Code? Open in Web Editor NEW"Bioimage analysis in Python" workshop at LMA2021
License: BSD 3-Clause "New" or "Revised" License
"Bioimage analysis in Python" workshop at LMA2021
License: BSD 3-Clause "New" or "Revised" License
During the workshop, Genevieve used the foreman analogy for the dask scheduler to explain why using tiny chunks are not optimal when trying to decide on chunk size. Chunks too big will crash our memory, but chunks too small will incur lots of overhead.
Feedback was great on the analogy so we should add it to the notebook! ๐
Reference from I2K:
https://github.com/jni/i2k-skimage-napari/blob/solved/lectures/3_dask.ipynb
This workshop was the first time the "images are numpy arrays" content was presentaed. Next time it runs, we should rearrange it so the exercises are interspersed through the content, rather than all at the end. I think that would be more engaging for participants.
We think it would be good to have another example in the segmentation tutorial.
Juan suggests demo-ing the napari cellpose plugin.
The dask tutorial includes this statement in the first couple of cells. I don't think this is strictly accurate, and it might be good to reword it.
A first life hack: in general, avoid using bare dask, and instead create a dask.distributed Client as in the cell below. What this buys you:
- memory management: the distributed scheduler that is automatically created with the default client will launch processes with maximum memory limits. If they exceed those limits, the scheduler will stop sending tasks to them and eventually kill them. In contrast, without distributed, you are subject to the same issues as bare Python. It is very easy to freeze your machine.
Dask documentation reference; https://docs.dask.org/en/latest/setup/single-distributed.html
Maybe we should add suggestions for where people can go for help after the workshop has finished.
Eg:
Add dask-labextension to requirements / environment.yml
It's just nice to have, if you're using jupyter lab
Workshop participants put a whole bunch of great resources into the chat when we asked them about their favourite places to learn more about image analysis.
We should add that information here too (most likely to the last section in the README, which currently contains a link to forum.image.sc and the napari zulip channel).
Around Cell 19
I want us to add a link to this standup comedy act about spreadsheets to the first tutorial on numpy arrays. The video is 13 minutes long.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.