[Notice] Removing "torch" package from the "universal" image
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.
---pip uninstall torch--- ---!pip uninstall torch---
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).
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()