[ANN] ComputerVisionTutorials.jl - Tutorial "Package" for Artificial Intelligence

Introduction

I’m currently developing a suite of deep learning computer vision tutorials, with a special emphasis on medical imaging. These tutorials are designed as interactive Pluto notebooks that you can use directly for training and model inference. However, this project is still in its early stages, and no single tutorial is complete yet. I’m looking for feedback to ensure I’m heading in the right direction. I am seeking as much feedback from the Julia community as early as possible to help direct this “package” development. This being said I have a very clear idea of what I want this to look like (see shadcn/ui below).

Workflow

The intended workflow is straightforward: you begin with a pre-made tutorial related to your task, such as one on image segmentation, then customize your training pipeline by choosing and integrating different components (like integrating Augmentor.jl versus DataAugmentation.jl for the data augmentation part of the pipeline). These nuances will be demonstrated in the component-specific notebooks. Eventually, you’ll have a custom Pluto notebook, resulting in a personalized training and inference tool that offers full transparency of the underlying processes.

This is built using our new tool, Glass Notebook, which integrates with GitHub to publish Pluto notebooks as interactive websites. This includes features like integrating package documentation directly into the tutorials, as seen with ComputerVisionTutorials.jl.

Feedback

Before I proceed further, I would greatly appreciate some feedback on this tutorial repository: (1) Dive into the core packages and ComputerVisionTutorials.jl itself, and share your ideas regarding tutorials and components. (2) Try out Glass Notebook if you’re interested, and consider using Glass for your package documentation, especially if it makes sense to integrate your package into ComputerVisionTutorials.jl. (3) I’m very open to collaborations through suggestions, PRs, issues, etc.

Aside:
For anyone interested, a bit of inspiration for a “package” like this comes from the highly useful UI component “package” in web development called shadcn/ui. I believe a copy-and-paste workflow like this for deep learning could be surprisingly useful.

27 Likes

Looks awesome! I love the pluto notebooks that are somehow wrapped into the HTML (how did you do that ?!) and I think overall this is a very useful contribution to the ecosystem. I have tried to use Julia for CV research quite extensively in the past and I wish this would have been available at the time!

1 Like

cool

1 Like

Thanks! The website is automatically built from Pluto notebooks using Glass Notebook.

I am working on building this out properly, thanks for your input over here, I appreciate it. Feel free to contribute to components or tutorials too!

What is Glass notebooks exactly? Could you maybe clarify that more?
There’s no legal information about it.

Is it related to Pluto? Is it built on top of Pluto to host exported notebooks?

It builds on top of Pluto and specifically PlutoSliderServer. It integrates with your GitHub and allows you to export Pluto notebooks as static or interactive notebooks hosted on our servers. We also have some niceties built in (like automatic sidebar exports) to turn your notebooks inside your repository into a pretty nice website, kind of like computationalthinking has done.

1 Like