Conda: Gerenciamento de Ambientes Python

Conda: Gerenciamento de Ambientes Python Conda: Gerenciamento de Ambientes Python

Aviso: Este post foi traduzido para o português usando um modelo de tradução automática. Por favor, me avise se encontrar algum erro.

Ao trabalhar com ciência de dados, inteligência artificial, deep learning, ou como queira chamar, vamos realizar vários projetos. E pode ser que em alguns você precise instalar, por exemplo, a versão 11.6 do CUDA e em outros a 11.8. E nessas situações, é aconselhável seguir as recomendações, nunca entre em conflito com o CUDA, ele sempre sai vencedor.

Portanto, o melhor é criar ambientes diferentes para cada projeto. Dessa forma, você poderá instalar o que quiser em cada ambiente e não de maneira global. E assim, não terá problemas de incompatibilidade com versões de bibliotecas.

Para criar ambientes python, ele traz por padrão o venv, que são seus ambientes virtuais. Mas recomendo que você use o conda para criar seus ambientes virtuais, pois além de criar ambientes virtuais, também é um gerenciador de pacotes, e é um melhor gerenciador de pacotes que o pip.

Este não é um post explicativo de conda, então você não vai encontrar como instalá-lo nem como usá-lo. É um post no qual são contadas as vantagens de usar conda e, além disso, de usar mamba (que explicaremos mais adiante)

Vou criar três ambientes conda diferentes, um será chamado pip_env, outro conda_env e outro mamba_env

Conda vs PIPlink image 19

pip_envlink image 20

Vou criar um novo ambiente chamado pip_env

	
< > Input
Python
!conda create -n pip_env
Copied

No ambiente pip_env vou instalar pandas

	
< > Input
Python
# pip_env
!pip install pandas
Copied
>_ Output
			
Collecting pandas
Using cached pandas-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.3 MB)
Requirement already satisfied: numpy&gt;=1.21.0 in /home/wallabot/miniconda3/envs/pip_env/lib/python3.10/site-packages (from pandas) (1.24.3)
Requirement already satisfied: python-dateutil&gt;=2.8.2 in /home/wallabot/miniconda3/envs/pip_env/lib/python3.10/site-packages (from pandas) (2.8.2)
Requirement already satisfied: pytz&gt;=2020.1 in /home/wallabot/miniconda3/envs/pip_env/lib/python3.10/site-packages (from pandas) (2023.3)
Requirement already satisfied: tzdata&gt;=2022.1 in /home/wallabot/miniconda3/envs/pip_env/lib/python3.10/site-packages (from pandas) (2023.3)
Requirement already satisfied: six&gt;=1.5 in /home/wallabot/miniconda3/envs/pip_env/lib/python3.10/site-packages (from python-dateutil&gt;=2.8.2-&gt;pandas) (1.16.0)
Installing collected packages: pandas
Successfully installed pandas-2.0.1

Como se pode ver no texto que saiu ao instalar pandas, este depende de numpy, portanto o instala em sua versão 1.24.3. Mas se por algum motivo precisarmos do numpy em sua versão 1.19, se tentarmos instalá-lo, receberemos um erro.

	
< > Input
Python
# pip_env
!pip install numpy==1.19.0
Copied
>_ Output
			
Collecting numpy==1.19.0
Using cached numpy-1.19.0.zip (7.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: numpy
Building wheel for numpy (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for numpy (pyproject.toml) did not run successfully.
│ exit code: 1
╰─&gt; [1113 lines of output]
Running from numpy source directory.
Cythonizing sources
numpy/random/_bounded_integers.pxd.in has not changed
numpy/random/_bounded_integers.pyx.in has not changed
numpy/random/_philox.pyx has not changed
numpy/random/_mt19937.pyx has not changed
numpy/random/_sfc64.pyx has not changed
numpy/random/mtrand.pyx has not changed
numpy/random/_common.pyx has not changed
Processing numpy/random/_bounded_integers.pyx
/tmp/pip-install-ck7a9pm3/numpy_29fbb9718a2c432e9d67310f12d6c54b/tools/cythonize.py:73: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
required_version = LooseVersion('0.29.14')
/tmp/pip-install-ck7a9pm3/numpy_29fbb9718a2c432e9d67310f12d6c54b/tools/cythonize.py:75: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
...
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for numpy
Failed to build numpy
ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects

Nós recebemos um erro, e se verificarmos qual versão do numpy temos, percebemos que ainda estamos com a 1.24.3

	
< > Input
Python
# pip_env
import numpy as np
np.__version__
Copied
>_ Output
			
'1.24.3'

E vemos qual versão do pandas temos

	
< > Input
Python
# pip_env
import pandas as pd
pd.__version__
Copied
>_ Output
			
'2.0.1'

conda_envlink image 21

Para resolver este conflito, podemos usar conda, crio um novo ambiente chamado conda_env

	
< > Input
Python
!conda create -n conda_env
Copied

E agora dizemos que queremos instalar numpy na versão 1.19 e pandas, e conda procurará a maneira de fazer isso.

	
< > Input
Python
# conda_env
!conda install -y numpy=1.19 pandas
Copied
>_ Output
			
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/wallabot/miniconda3/envs/conda_env
added / updated specs:
- numpy=1.19
- pandas
The following packages will be downloaded:
package | build
---------------------------|-----------------
ca-certificates-2023.01.10 | h06a4308_0 120 KB
certifi-2021.5.30 | py36h06a4308_0 139 KB
intel-openmp-2022.1.0 | h9e868ea_3769 4.5 MB
mkl-2020.2 | 256 138.3 MB
mkl-service-2.3.0 | py36he8ac12f_0 52 KB
mkl_fft-1.3.0 | py36h54f3939_0 170 KB
mkl_random-1.1.1 | py36h0573a6f_0 327 KB
numpy-1.19.2 | py36h54aff64_0 22 KB
numpy-base-1.19.2 | py36hfa32c7d_0 4.1 MB
pandas-1.1.5 | py36ha9443f7_0 8.2 MB
pytz-2021.3 | pyhd3eb1b0_0 171 KB
------------------------------------------------------------
Total: 156.1 MB
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Parece que você conseguiu, vamos ver

	
< > Input
Python
# conda_env
import numpy as np
np.__version__
Copied
>_ Output
			
'1.19.2'
	
< > Input
Python
# conda_env
import pandas as pd
pd.__version__
Copied
>_ Output
			
'1.1.5'

Vemos que você conseguiu instalar os dois, só que para poder resolver os conflitos você instalou o pandas na versão 1.1.5, em vez da versão 2.0.1 que havia instalado com o pip.

Mamba vs condalink image 22

Uma vez que vimos que o conda é melhor para resolver conflitos, vejamos agora a diferença entre usar mamba e conda. Como vimos, o conda é muito bom em resolver conflitos, mas tem o problema de ser lento ao instalar pacotes, pois as dependências são instaladas em série, uma após a outra. Graças ao mamba, vamos ter os mesmos benefícios do conda, só que as dependências serão instaladas em paralelo, fazendo uso dos kernels que temos no nosso micro.

conda_envlink image 23

Vamos a seguir no ambiente conda_env e vamos a ver quanto tempo leva para instalar o pytorch. Colocando time antes de um comando, vemos quanto tempo ele leva para ser executado.

	
< > Input
Python
# conda_env
!time conda install -y pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
Copied
>_ Output
			
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/wallabot/miniconda3/envs/conda_env
added / updated specs:
- pytorch
- pytorch-cuda=11.8
- torchaudio
- torchvision
The following packages will be downloaded:
package | build
---------------------------|-----------------
bzip2-1.0.8 | h7b6447c_0 78 KB
cuda-cudart-11.8.89 | 0 197 KB nvidia
cuda-cupti-11.8.87 | 0 25.3 MB nvidia
cuda-libraries-11.8.0 | 0 1 KB nvidia
cuda-nvrtc-11.8.89 | 0 19.1 MB nvidia
cuda-nvtx-11.8.86 | 0 57 KB nvidia
cuda-runtime-11.8.0 | 0 1 KB nvidia
cudatoolkit-11.3.1 | ha36c431_9 815.2 MB nvidia
dataclasses-0.8 | pyh4f3eec9_6 22 KB
libcublas-11.11.3.6 | 0 364.0 MB nvidia
libcufft-10.9.0.58 | 0 142.8 MB nvidia
libcufile-1.6.1.9 | 0 764 KB nvidia
libcurand-10.3.2.106 | 0 51.7 MB nvidia
libcusolver-11.4.1.48 | 0 96.5 MB nvidia
libcusparse-11.7.5.86 | 0 176.3 MB nvidia
libnpp-11.8.0.86 | 0 147.8 MB nvidia
libnvjpeg-11.9.0.86 | 0 2.4 MB nvidia
olefile-0.46 | py36_0 48 KB
openjpeg-2.4.0 | h3ad879b_0 331 KB
pillow-8.3.1 | py36h2c7a002_0 637 KB
pytorch-1.10.2 |py3.6_cuda11.3_cudnn8.2.0_0 1.21 GB pytorch
pytorch-cuda-11.8 | h7e8668a_3 7 KB pytorch
torchaudio-0.10.2 | py36_cu113 4.5 MB pytorch
torchvision-0.11.3 | py36_cu113 30.4 MB pytorch
typing_extensions-4.1.1 | pyh06a4308_0 28 KB
------------------------------------------------------------
Total: 3.04 GB
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: / By downloading and using the CUDA Toolkit conda packages, you accept the terms and conditions of the CUDA End User License Agreement (EULA): https://docs.nvidia.com/cuda/eula/index.html
done
conda install -y pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch 294,42s user 18,01s system 187% cpu 2:46,42 total

Vemos que demorou 294,42 segundos, cerca de 4,9 minutos, quase 5 minutos.

mamba_envlink image 24

Agora vamos a reinstalar o pytorch, mas com mamba. Primeiro criamos um ambiente chamado mamba_env

	
< > Input
Python
!conda create -n mamba_env
Copied

Para instalar mamba, baixe-o do mambaforge e instale-o.

Agora vamos reinstalar o pytorch no mamba_env

	
< > Input
Python
# mamba_env
!time mamba install -y pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
Copied
>_ Output
			
__ __ __ __
/ / / / \
/ / / / \
███████████████/ /██/ /██/ /██/ /████████████████████████
/ / / / / ____
/ / _/ _/ _/ o __,
/ _/ _____/ `
|/
███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗
████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
██╔████╔██║███████║██╔████╔██║██████╔╝███████║
██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝
mamba (1.3.1) supported by @QuantStack
GitHub: https://github.com/mamba-org/mamba
Twitter: https://twitter.com/QuantStack
█████████████████████████████████████████████████████████████
Looking for: ['pytorch', 'torchvision', 'torchaudio', 'pytorch-cuda=11.8']
warning libmamba Could not parse state file: Could not load cache state: [json.exception.type_error.302] type must be string, but is null
warning libmamba Could not parse state file: Could not load cache state: [json.exception.type_error.302] type must be string, but is null
warning libmamba Could not parse state file: Could not load cache state: [json.exception.type_error.302] type must be string, but is null
warning libmamba Could not parse state file: Could not load cache state: [json.exception.type_error.302] type must be string, but is null
[+] 0.0s
[+] 0.1s
pytorch/linux-64 ━━━━━━━━━━━╸━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s
pytorch/noarch ━━━╸━━━━━━━━━━━━━━━╸━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s
nvidia/linux-64 ━━━━━━━━━╸━━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s
nvidia/noarch ━━━━━━━━╸━━━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1s
pkgs/main/linux-64 ━━━━━━━━━━━━━━━╸━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.1spkgs/main/linux-64 No change
pkgs/r/noarch No change
pytorch/noarch 10.1kB @ 58.3kB/s 0.2s
nvidia/noarch 3.4kB @ 18.7kB/s 0.2s
pkgs/main/noarch No change
[+] 0.2s
pytorch/linux-64 ━━━━━━━━━━━━━━╸━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.2s
nvidia/linux-64 ━━━━━━━━━━━━━╸━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.2s
pkgs/r/linux-64 ━━━━━━━━━━━━╸━━━━━━━━━━━━━━ 0.0 B / ??.?MB @ ??.?MB/s 0.0spytorch/linux-64 163.4kB @ 801.5kB/s 0.2s
pkgs/r/linux-64 No change
nvidia/linux-64 120.2kB @ 566.5kB/s 0.2s
Pinned packages:
- python 3.10.*
Transaction
Prefix: /home/wallabot/miniconda3/envs/mamba_env2
Updating specs:
- pytorch
- torchvision
- torchaudio
- pytorch-cuda=11.8
- ca-certificates
- certifi
- openssl
Package Version Build Channel Size
─────────────────────────────────────────────────────────────────────────────────────────────────
Install:
─────────────────────────────────────────────────────────────────────────────────────────────────
+ blas 1.0 mkl pkgs/main/linux-64 Cached
+ brotlipy 0.7.0 py310h7f8727e_1002 pkgs/main/linux-64 Cached
+ cffi 1.15.1 py310h5eee18b_3 pkgs/main/linux-64 Cached
+ charset-normalizer 2.0.4 pyhd3eb1b0_0 pkgs/main/noarch Cached
+ cryptography 39.0.1 py310h9ce1e76_0 pkgs/main/linux-64 Cached
+ cuda-cudart 11.8.89 0 nvidia/linux-64 Cached
+ cuda-cupti 11.8.87 0 nvidia/linux-64 Cached
+ cuda-libraries 11.8.0 0 nvidia/linux-64 Cached
+ cuda-nvrtc 11.8.89 0 nvidia/linux-64 Cached
+ cuda-nvtx 11.8.86 0 nvidia/linux-64 Cached
+ cuda-runtime 11.8.0 0 nvidia/linux-64 Cached
+ ffmpeg 4.3 hf484d3e_0 pytorch/linux-64 Cached
+ filelock 3.9.0 py310h06a4308_0 pkgs/main/linux-64 Cached
+ freetype 2.12.1 h4a9f257_0 pkgs/main/linux-64 Cached
+ giflib 5.2.1 h5eee18b_3 pkgs/main/linux-64 Cached
+ gmp 6.2.1 h295c915_3 pkgs/main/linux-64 Cached
+ gmpy2 2.1.2 py310heeb90bb_0 pkgs/main/linux-64 Cached
+ gnutls 3.6.15 he1e5248_0 pkgs/main/linux-64 Cached
+ idna 3.4 py310h06a4308_0 pkgs/main/linux-64 Cached
+ intel-openmp 2021.4.0 h06a4308_3561 pkgs/main/linux-64 Cached
+ jinja2 3.1.2 py310h06a4308_0 pkgs/main/linux-64 Cached
+ jpeg 9e h5eee18b_1 pkgs/main/linux-64 Cached
+ lame 3.100 h7b6447c_0 pkgs/main/linux-64 Cached
+ lcms2 2.12 h3be6417_0 pkgs/main/linux-64 Cached
+ lerc 3.0 h295c915_0 pkgs/main/linux-64 Cached
+ libcublas 11.11.3.6 0 nvidia/linux-64 Cached
+ libcufft 10.9.0.58 0 nvidia/linux-64 Cached
+ libcufile 1.6.1.9 0 nvidia/linux-64 Cached
+ libcurand 10.3.2.106 0 nvidia/linux-64 Cached
+ libcusolver 11.4.1.48 0 nvidia/linux-64 Cached
+ libcusparse 11.7.5.86 0 nvidia/linux-64 Cached
+ libdeflate 1.17 h5eee18b_0 pkgs/main/linux-64 Cached
+ libiconv 1.16 h7f8727e_2 pkgs/main/linux-64 Cached
+ libidn2 2.3.2 h7f8727e_0 pkgs/main/linux-64 Cached
+ libnpp 11.8.0.86 0 nvidia/linux-64 Cached
+ libnvjpeg 11.9.0.86 0 nvidia/linux-64 Cached
+ libpng 1.6.39 h5eee18b_0 pkgs/main/linux-64 Cached
+ libtasn1 4.19.0 h5eee18b_0 pkgs/main/linux-64 Cached
+ libtiff 4.5.0 h6a678d5_2 pkgs/main/linux-64 Cached
+ libunistring 0.9.10 h27cfd23_0 pkgs/main/linux-64 Cached
+ libwebp 1.2.4 h11a3e52_1 pkgs/main/linux-64 Cached
+ libwebp-base 1.2.4 h5eee18b_1 pkgs/main/linux-64 Cached
+ lz4-c 1.9.4 h6a678d5_0 pkgs/main/linux-64 Cached
+ markupsafe 2.1.1 py310h7f8727e_0 pkgs/main/linux-64 Cached
+ mkl 2021.4.0 h06a4308_640 pkgs/main/linux-64 Cached
+ mkl-service 2.4.0 py310h7f8727e_0 pkgs/main/linux-64 Cached
+ mkl_fft 1.3.1 py310hd6ae3a3_0 pkgs/main/linux-64 Cached
+ mkl_random 1.2.2 py310h00e6091_0 pkgs/main/linux-64 Cached
+ mpc 1.1.0 h10f8cd9_1 pkgs/main/linux-64 Cached
+ mpfr 4.0.2 hb69a4c5_1 pkgs/main/linux-64 Cached
+ mpmath 1.2.1 py310h06a4308_0 pkgs/main/linux-64 Cached
+ nettle 3.7.3 hbbd107a_1 pkgs/main/linux-64 Cached
+ networkx 2.8.4 py310h06a4308_1 pkgs/main/linux-64 Cached
+ numpy 1.24.3 py310hd5efca6_0 pkgs/main/linux-64 11kB
+ numpy-base 1.24.3 py310h8e6c178_0 pkgs/main/linux-64 7MB
+ openh264 2.1.1 h4ff587b_0 pkgs/main/linux-64 Cached
+ pillow 9.4.0 py310h6a678d5_0 pkgs/main/linux-64 Cached
+ pycparser 2.21 pyhd3eb1b0_0 pkgs/main/noarch Cached
+ pyopenssl 23.0.0 py310h06a4308_0 pkgs/main/linux-64 Cached
+ pysocks 1.7.1 py310h06a4308_0 pkgs/main/linux-64 Cached
+ pytorch 2.0.0 py3.10_cuda11.8_cudnn8.7.0_0 pytorch/linux-64 2GB
+ pytorch-cuda 11.8 h7e8668a_3 pytorch/linux-64 Cached
+ pytorch-mutex 1.0 cuda pytorch/noarch Cached
+ requests 2.29.0 py310h06a4308_0 pkgs/main/linux-64 99kB
+ sympy 1.11.1 py310h06a4308_0 pkgs/main/linux-64 Cached
+ torchaudio 2.0.0 py310_cu118 pytorch/linux-64 8MB
+ torchtriton 2.0.0 py310 pytorch/linux-64 Cached
+ torchvision 0.15.0 py310_cu118 pytorch/linux-64 8MB
+ typing_extensions 4.5.0 py310h06a4308_0 pkgs/main/linux-64 49kB
+ urllib3 1.26.15 py310h06a4308_0 pkgs/main/linux-64 Cached
+ zstd 1.5.5 hc292b87_0 pkgs/main/linux-64 Cached
Upgrade:
─────────────────────────────────────────────────────────────────────────────────────────────────
- openssl 1.1.1s h7f8727e_0 anaconda
+ openssl 1.1.1t h7f8727e_0 pkgs/main/linux-64 Cached
Summary:
Install: 71 packages
Upgrade: 1 packages
Total download: 2GB
─────────────────────────────────────────────────────────────────────────────────────────────────
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
mamba install -y pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch 121,61s user 7,63s system 95% cpu 2:14,75 total

Agora levou 121,61 segundos, cerca de 2 minutos. Menos da metade do tempo com conda.

Criar um ambiente a partir de um arquivolink image 25

Podemos querer criar um ambiente com uma lista de pacotes determinada, então podemos passar um arquivo para o conda para que ele crie o ambiente com esses pacotes. Para isso, criamos um arquivo chamado environment.yml com um conteúdo como o seguinte

nome: ambiente_a_partir_de_arquivo
      canais:
      - padrões
      - conda-forge
      - pytorch
      - nvidia
      dependências:
      - python=3.11
      - cudatoolkit=11.8
      - pytorch=2.2.1
      - torchaudio- torchvision
      - pip
      - pip:
      - transformadores

Como vemos, indica-se o nome do ambiente, os canais que vamos usar, os pacotes com suas versões que vamos instalar através do Conda e os pacotes que vamos instalar através do Pip. Agora dizemos ao Conda para criar o ambiente com esses pacotes.

conda env create -f environment.yml

Criamos o arquivo

	
< > Input
Python
!touch environment.yml \
&& echo "name: entorno_desde_archivo" &gt;&gt; environment.yml \
&& echo "channels:" &gt;&gt; environment.yml \
&& echo " - defaults" &gt;&gt; environment.yml \
&& echo " - conda-forge" &gt;&gt; environment.yml \
&& echo " - pytorch" &gt;&gt; environment.yml \
&& echo " - nvidia" &gt;&gt; environment.yml \
&& echo "dependencies:" &gt;&gt; environment.yml \
&& echo " - python=3.11" &gt;&gt; environment.yml \
&& echo " - cudatoolkit=11.8" &gt;&gt; environment.yml \
&& echo " - pytorch=2.2.1" &gt;&gt; environment.yml \
&& echo " - torchaudio" &gt;&gt; environment.yml \
&& echo " - torchvision" &gt;&gt; environment.yml \
&& echo " - pip" &gt;&gt; environment.yml \
&& echo " - pip:" &gt;&gt; environment.yml \
&& echo " - transformers" &gt;&gt; environment.yml
Copied

Agora que temos o arquivo, podemos criar o ambiente personalizado.

	
< > Input
Python
!conda env create -f environment.yml
Copied
>_ Output
			
Retrieving notices: ...working... done
Channels:
- defaults
- conda-forge
- pytorch
- nvidia
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
==&gt; WARNING: A newer version of conda exists. &lt;==
current version: 23.11.0
latest version: 24.1.2
Please update conda by running
$ conda update -n base -c conda-forge conda
Downloading and Extracting Packages:
pytorch-2.2.1 | 1.35 GB | | 0%
cudatoolkit-11.8.0 | 630.7 MB | | 0%
libcublas-12.1.0.26 | 329.0 MB | | 0%
libcusparse-12.0.2.5 | 163.0 MB | | 0%
libnpp-12.0.2.50 | 139.8 MB | | 0%
...
Successfully installed fsspec-2024.2.0 huggingface-hub-0.21.4 packaging-23.2 regex-2023.12.25 safetensors-0.4.2 tokenizers-0.15.2 tqdm-4.66.2 transformers-4.38.2
done
#
# To activate this environment, use
#
# $ conda activate entorno_desde_archivo
#
# To deactivate an active environment, use
#
# $ conda deactivate

Instalar pacotes a partir de um arquivolink image 26

Outra coisa que podemos fazer é ter uma lista de pacotes que queremos instalar. Para poder instalar todos de uma vez, podemos criar um arquivo chamado requirements.yml com um conteúdo como o seguinte

canais:
- conda-forge
dependências:
- pandas==2.2.1
- matplotlib==3.8.3

E agora dizemos ao Conda para instalar esses pacotes

conda install --file requirements.yml
	
< > Input
Python
!touch requirements.txt \
&& echo "pandas==2.2.1" &gt;&gt; requirements.txt \
&& echo "matplotlib==3.8.3" &gt;&gt; requirements.txt
Copied

Agora que temos o arquivo, instalamos os pacotes

	
< > Input
Python
!conda install --file requirements.txt
Copied
>_ Output
			
Channels:
- conda-forge
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: warning libmamba Added empty dependency for problem type SOLVER_RULE_UPDATE
failed
LibMambaUnsatisfiableError: Encountered problems while solving:
- package pandas-1.3.3-py37h40f5888_0 requires python &gt;=3.7,&lt;3.8.0a0, but none of the providers can be installed
Could not solve for environment specs
The following packages are incompatible
├─ pandas 1.3.3 is installable with the potential options
│ ├─ pandas 1.3.3 would require
│ │ └─ python &gt;=3.7,&lt;3.8.0a0 , which can be installed;
│ ├─ pandas 1.3.3 would require
│ │ └─ python &gt;=3.8,&lt;3.9.0a0 , which can be installed;
│ └─ pandas 1.3.3 would require
│ └─ python &gt;=3.9,&lt;3.10.0a0 , which can be installed;
└─ pin-1 is not installable because it requires
└─ python 3.11.* , which conflicts with any installable versions previously reported.
Pins seem to be involved in the conflict. Currently pinned specs:
- python 3.11.* (labeled as 'pin-1')

Continuar lendo

Últimos posts -->

Você viu esses projetos?

Gymnasia

Gymnasia Gymnasia
React Native
Expo
TypeScript
FastAPI
Next.js
OpenAI
Anthropic

Aplicativo móvel de treino pessoal com assistente de IA, biblioteca de exercícios, acompanhamento de rotinas, dieta e medidas corporais

Horeca chatbot

Horeca chatbot Horeca chatbot
Python
LangChain
PostgreSQL
PGVector
React
Kubernetes
Docker
GitHub Actions

Chatbot conversacional para cozinheiros de hotéis e restaurantes. Um cozinheiro, gerente de cozinha ou serviço de quarto de um hotel ou restaurante pode falar com o chatbot para obter informações sobre receitas e menus. Mas também implementa agentes, com os quais pode editar ou criar novas receitas ou menus

Naviground

Naviground Naviground
Ver todos os projetos -->
>_ Disponível para projetos

Tem um projeto com IA?

Vamos conversar.

maximofn@gmail.com

Especialista em Machine Learning e Inteligência Artificial. Desenvolvo soluções com IA generativa, agentes inteligentes e modelos personalizados.

Quer assistir alguma palestra?

Últimas palestras -->

Quer melhorar com essas dicas?

Últimos tips -->

Use isso localmente

Os espaços do Hugging Face nos permitem executar modelos com demos muito simples, mas e se a demo quebrar? Ou se o usuário a deletar? Por isso, criei contêineres docker com alguns espaços interessantes, para poder usá-los localmente, aconteça o que acontecer. Na verdade, se você clicar em qualquer botão de visualização de projeto, ele pode levá-lo a um espaço que não funciona.

Flow edit

Flow edit Flow edit

Edite imagens com este modelo de Flow. Baseado em SD3 ou FLUX, você pode editar qualquer imagem e gerar novas

FLUX.1-RealismLora

FLUX.1-RealismLora FLUX.1-RealismLora
Ver todos os contêineres -->
>_ Disponível para projetos

Tem um projeto com IA?

Vamos conversar.

maximofn@gmail.com

Especialista em Machine Learning e Inteligência Artificial. Desenvolvo soluções com IA generativa, agentes inteligentes e modelos personalizados.

Você quer treinar seu modelo com esses datasets?

short-jokes-dataset

HuggingFace

Dataset com piadas em inglês

Uso: Fine-tuning de modelos de geração de texto humorístico

231K linhas 2 colunas 45 MB
Ver no HuggingFace →

opus100

HuggingFace

Dataset com traduções de inglês para espanhol

Uso: Treinamento de modelos de tradução inglês-espanhol

1M linhas 2 colunas 210 MB
Ver no HuggingFace →

netflix_titles

HuggingFace

Dataset com filmes e séries da Netflix

Uso: Análise de catálogo Netflix e sistemas de recomendação

8.8K linhas 12 colunas 3.5 MB
Ver no HuggingFace →
Ver mais datasets -->