Share your work here ✅

Created a Jupyter notebook extension to convert the ipython notebook to Python file using nbdev:

Obviously there are lots of improvements to be made. Let me know your feedback.

3 Likes

Look at: Virtual GPU (vGPU) | NVIDIA

2 Likes

Jeremy showed a way to export cells in a notebook using “#|” (aka “Hash Pipe”) … how is this different from that nbdev functionality?

It is not different. It is just a handy extension built on top of NBDev. It’s just that you don’t have to write the last two lines of code at the last to convert the notebook to python.

The next step is to make the extension to use a drop-down for all sort of options available in NBDev to each cell in the UI interface (instead of the hash code) itself like the one that Jermey used in his previous class for the slides.

1 Like

Oh I see! and also it seems it can export the whole notebook instead of putting a #| in each cell.

dropdowns for the options would be super nice!

1 Like

Great idea. I could see this being useful for a friend at a rural airfield, and also maybe farmers.

Note, per Brian Smith’s post Lesson 1 official topic ✅ - #124
prob[0] is not “necessarily” the probability for cirrus, just coincidental they might align. Experiment predicting the other types of clouds.

Also, you might display the sample image. Perhaps something like this…

def predict_cloud(image_file):
    image = PILImage.create(image_file)
    pred, pred_idx, probs = learn.predict(image)
    print(f'This cloud is a: {pred}')
    print(f'Probability: {probs[pred_idx]:.4f}')
    image
3 Likes

Maybe…

download_url(search_images('muffin shaped dogs', max_images=1[0], 'test.jpg', ...

Given you’re running a production service, I’ll be very curious if/when you dig into this and find if it’s production(multi tenant/multi process) ready or not. Please do ping me if you end up writing/talking about it. :raised_hands:

1 Like

For some reason I thought that’s what service providers like Jarvislabs were already doing (providing virtualized instances with a slice of compute from a data-center type GPU like A6000 etc)

I’m not sure if you folks have a write up / whitepaper on the Jarvislabs architecture but it would be a really interesting to know.

1 Like

Same here, would love if you write about it. It’s impressive, you are updating software regularly in Jarvislabs with fastai 2.6 already there

1 Like

Love it - really great idea.

My only feedback is I wonder if you can make installation easier. Ideally it would be nice to be able to do a single pip install and if it just work.

1 Like

This is the preferred way of using nbdev now in the latest version. Functionality is identical either way.

5 Likes

I have considered this in the past. But since it is paid and involves licensing I never tried it. Being bootstrapped, we mostly rely on open-source tools :grinning:

3 Likes

Sure. There are certain GPU types like A30 and A100 on which splitting is easy through MIG. But unfortunately, these GPUs are way more expensive to buy.

If I am able to successfully hack through the approach of sharing a GPU like A6K, then it is economical too (slightly). I will be happy to share it here if I see any success :smile:.

2 Likes

@mike.moloch While using Jarvislabs.ai you get a full GPU not a slice of it. I think that’s true for other cloud providers too. The architecture is not publicly available but, in simplest words, we use dockers on Linux servers and use our own orchestration manager. Some companies try to use Kubernetes, but I felt it’s too complicated to customize. So we built our own orchestration manager. Our entire stack is built on

  • Python
  • FastAPI
  • Nginx
  • Docker

@kurianbenoy I follow Jeremy on Twitter. So I ended up updating the software as soon as it was available so that it is super easy for anyone to run the course/book. Before the start of the class, I try to ensure that the notebooks run properly.

8 Likes

Thanks bencoman - I am going to revise the notebook in light of this weeks lesson and so i’ll fix the indexing mistake to actually use the proper prob in the list returned from the learner.

1 Like

May the Fourth be with you!

There’s a surprising lack of knowledge in the general public about various Star Wars characters. Many labour under the assumption that anyone in black is Darth Vader. Not so.

I adapted the teddy bear example here,

I got under 5% error using the ‘resnet34’ architecture, the ‘RandomResizeCrop’ but not the augmented transformed. They seemed not to help here.
image

image

5 Likes

Yes. I was thinking of adding to the Extensions. But was under the impression that pip is strictly for python files alone. Will try to do this with pip

Thanks to Jeremey’s suggestion. Have created pip install for the package. But there is some issue in auto enabling that extension. Would be fixing it going forward.

Also, Added the keyboard shortcut ;+; to convert to python (in command mode).

Was thinking that after making the extension little stable, we can include this as part of nbdev itself. Would like to know your viewpoints on this.

2 Likes

I really appreciate the regular software updates :star_struck:. That’s one of reasons I stick to Jarvislabs.ai

1 Like