Este documento tem como referência este link
É bem simples instalar o Xeus Cling usando o Miniconda/Anaconda. Neste tutorial, mostrarei como instalar e criar um ambiente de desenvolvimento no Miniconda
Caso já tenha uma instalação do Miniconda/Anaconda, ignore o passo 1. Se o comando conda
estiver variável PATH
(se estiver, digita "cond" + "tab" que ele completará "conda"), ignore o passo 2.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda3.sh
bash miniconda3.sh -b -p ~/miniconda3
Este estes comandos acima instalarão o Miniconda (versão com Python3) em $HOME, sem carragar o ambiente de desenvolvimento automaticamente.
Se o usuário tiver permissão do root
sudo ln -s ~/miniconda3/bin/conda /usr/bin/
sudo ln -s ~/miniconda3/bin/activate /usr/bin/
Do contrário, é útil criar uma pasta que contenha só links simbólicos do que for
de interesse pessoal e adicionar o conteúdo da pasta no PATH
(Costumo usar desta forma).
mkdir ~/bin
ln -s ~/miniconda3/bin/conda ~/bin
ln -s ~/miniconda3/bin/activate ~/bin
echo "export PATH=$"PATH":~/bin" >> ~/.bashrc
source ~/.bashrc
É possível criar vários ambientes, com depêndencias ao seu critério. Um ambiente com o nome cling-torch
é criado assim:
conda create -p ~/cling-torch xeus-cling notebook -c conda-forge
O comando acima irá criar o ambiente de desenvolvimento em ${HOME}/cling-torch
Abrar um novo terminal, ative o ambiente com source activate ~/cling-torch
e digite jupyter-notebook
Note as opções disponíveis.
Usando um notebook com um Kernell C++ iremos primeiro baixar os binários do Libtorch na primeira célula.
system("/usr/bin/wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-1.6.0%2Bcpu.zip -O libtorch.zip")
Para facilitar, o arquivo .zip
será extraído na mesma pasta do notebook.
system("/usr/bin/unzip libtorch.zip")
Em outra célula, iremos apontar para o cling onde ficam as bibliotecas e cabeçalhos. Em seguida, iremos carregar o libtorch
#pragma cling add_include_path("./libtorch/include")
#pragma cling add_include_path("./libtorch/include/torch/csrc/api/include")
#pragma cling add_library_path("./libtorch/lib")
#pragma cling load("libtorch")
Agora o Cling está pronto para usar a API C++ do Pytorch.
Veja o exemplo um exemplo mais completo, com o uso do Autograd
, nesse notebook. Você pode testar sem instalar em sua máquina usando o Binder.
- A instalação foi feita em num sistema Linux, na versão CPU. Acredito que para sistemas OSX seja semelhante.
- O
cling/xeus-cling
tem problema com from_blob.