images icon indicating copy to clipboard operation
images copied to clipboard

[Notice] Removing "torch" package from the "universal" image

Open samruddhikhandale opened this issue 2 years ago • 3 comments

Hello 👋

We are thinking of removing the torch package from the universal image. Feel free to share your concerns or thoughts, thank you! ✨

Background

Currently, the size of universal image is 12.7 GB and we have been looking at ways to shrink it. It’s interesting to see that the machine learning packages consume the most space which is 5.24 GB. We understand, that we want to support ML relevant scenarios, however, 41% kinda seems like a big chunk of the image.

Alternative

As torch package is installed with pip, it is very simple to add to your dev container (either in a Dockerfile or with a lifecycle command).

Also, we are thinking of adding a new Feature option to the Python Feature (eg. packages) which accepts a list of packages which can be added with pip. The user can install torch or any other packages they would like to with the update Python Feature. Would appreciate any feedbacks on this as well.

Conclusion

The torch package is 1.4 GB and it’s add a dependency of nvidia which is another 3.0 GB . Hence, removing the torch package saves us ~ 4.4 GB.

samruddhikhandale avatar Nov 16 '23 18:11 samruddhikhandale

---pip uninstall torch--- ---!pip uninstall torch---

GKMWD avatar Nov 29 '23 17:11 GKMWD

This would be helpful for providing additional data storage headroom in GitHub Codespaces (where CUDA isn't very useful anyway, except for the select users that have access to codespaces with GPUs).

An alternative could be to install a CPU-only version of torch by default (though I'm not sure how seamless a subsequent "upgrade" to a GPU-enabled version would be for users who would choose to do so).

nathanweeks avatar Dec 05 '23 12:12 nathanweeks

python

Importa o módulo Tkinter

import tkinter as tk

Cria um objeto da classe Tk

janela = tk.Tk()

Define o título da janela

janela.title("Exemplo de interface gráfica")

Define o tamanho da janela

janela.geometry("300x200")

Cria um widget de texto

texto = tk.Label(janela, text="Olá, mundo!")

Adiciona o widget de texto na janela

texto.pack()

Cria um widget de botão

botao = tk.Button(janela, text="Clique aqui")

Adiciona o widget de botão na janela

botao.pack()

Chama o método mainloop do objeto Tk

janela.mainloop()

GKMWD avatar Jan 13 '24 23:01 GKMWD