Share your nbdev project πŸ“œ

Looks good @ddobrinskiy ! I strongly suggest adding a preview image to your post. It makes it stand out far more on Twitter et al.

Also, a bit of personal background might make it more readable. I.e who are you and why did you make this, and what impact has this project had on your work?

2 Likes

@jeremy Thanks for the feedback!

The updated version is up now, including both motivation and preview

3 Likes

Published my first Python package developed with nbdev:

It implements the simple observer pattern from the JS Svelte Framework in less than 200 lines of code.

3 Likes

Hi!

Inspired by FastAPI, we built a framework for writing Kafka services using nbdev.

It allows you to build a complete ML serving process in about 50 lines of code. It has an integrated testing framework as well as automatic documentation generation from the code.

Please take a look at it and let me know what you think.

Davor

3 Likes

I implemented ToolFormer paper using nbdev

Paper: [2302.04761] Toolformer: Language Models Can Teach Themselves to Use Tools
Implementation: GitHub - xrsrke/toolformer: Implementation of Toolformer: Language Models Can Teach Themselves to Use Tools


2 Likes

This is really cool!! How was your experience doing this in nbdev?

3 Likes

Nbdev is great, but I separated all the tests into a separate file and used VSCode to run them. This way, I can easily run a specific test when needed, and have a clear overview of all the tests in my codebase, making it easier to manage and identify any missing tests!!

6 Likes

This is interesting, thanks for sharing! Did you consider writing the tests in a notebook and exporting those to a file – or would that add too much friction?

4 Likes

I apologize for the delayed response. I just tried it, and it works great (VSCode found the test). Thank you!!

3 Likes

Such a beautiful UI design :slightly_smiling_face:. I am absolutely loving this kind of UI design and it shows the power of quarto+nbdev.

1 Like

I published a python package for reimplementing OpenAI whisper normalizer with nbdev:

1 Like

I’m creating an alternative framework (of sorts) to nbdev, I’m calling nbquarto that removes most of the magic and revolves around writing your own quick processors to mess with your Quarto notebooks :slight_smile: Blog post is available here: My Blog - Introducing nbquarto: A Framework for Processing Jupyter Notebooks and the documentation: Getting started with nbquarto

2 Likes

I have written the lecture notes and done the exercises of the course Neural Networks: Zero to Hero using nbdev.
You can check out the docs and the repo.

1 Like

Implemented a library called DeepFeatX a while ago with the previous version of nbdev: GitHub - WittmannF/deepfeatx: Automatic Feature Extraction in Images using Transfer Learning

It is just a wrapper to quickly vectorize images from pre-trained models. Here’s an example:

from deepfeatx.image import ImageFeatureExtractor
from sklearn.linear_model import LogisticRegression

TRAIN_PATH = 'cats-dogs-data/train'
VALID_PATH = 'cats-dogs-data/valid'

fe = ImageFeatureExtractor()

train=fe.extract_features_from_directory(TRAIN_PATH, 
                                         classes_as_folders=True,
                                         export_class_names=True)
test=fe.extract_features_from_directory(VALID_PATH, 
                                         classes_as_folders=True,
                                         export_class_names=True)

X_train, y_train = train.drop(['filepaths', 'classes'], axis=1), train['classes']
X_test, y_test = test.drop(['filepaths', 'classes'], axis=1), test['classes']
lr = LogisticRegression().fit(X_train, y_train)