** Aviso! ** A otimização pode não convergir em algumas GPUs. Nós pessoalmente enfrentamos problemas nas GPUs Tesla V100 e P40. Ao executar o código, certifique-se de obter resultados semelhantes aos do papel primeiro. Mais fácil de verificar usando o bloco de notas com pintura de texto. Tente definir o modo de precisão dupla ou desligar o cudnn.
Notebooks Jupyter com código python para recuperar fotografias:
Projeto de 2018 original:
Deep Image Prior
CVPR 2018
Dmitry Ulyanov, Andrea Vedaldi, Victor Lempitsky
[paper] [supmat] [project page]
Aqui nós fornecemos hiperparâmetros e arquiteturas, que foram usados para gerar as figuras. A maioria deles está longe de ser ideal. Não hesite em alterá-los e ver o efeito.
Expandiremos este README com uma lista de hiperparâmetros e opções em breve.
no linux
export CUDA_VISIBLE_DEVICES=""
no windows
set CUDA_VISIBLE_DEVICES=""
Aqui está a lista de bibliotecas que você precisa instalar para executar o código:
- python = 3.6
- pytorch = 0.4
- numpy
- scipy
- matplotlib
- scikit-image
- jupyter
Para não comprometer as instalações originais do seu sistema operacional preferido, uma das opções é instalar ao nível de usuário os pacotes com o PIP
pip install --user --upgrade torch torchvision pygments jupyterlab-pygments numpy scipy matplotlib scikit-image jupyter
Não esqueça de atualizar o a variável de ambiente PATH
para que sua instalação de python ache os pacotes no diretório do usuário.
Por exemplo no linux debian:
PATH="$(python3 -m site --user-base)/bin:${PATH}"
Todos estes pacotes podem ser instalados através do sistema anaconda: conda
(anaconda
), e.g.
conda install jupyter
ou crie um env conda com todas as dependências via arquivo de ambiente
conda env create -f environment.yml
Como alternativa, você pode usar uma imagem Docker que expõe um Notebook Jupyter com todas as dependências necessárias. Para construir esta imagem, certifique-se de ter o [docker] (https://www.docker.com/) e [nvidia-docker] (https://github.com/NVIDIA/nvidia-docker) instalados e, em seguida, execute
nvidia-docker build -t deep-image-prior .
Após a construção, você pode iniciar o contêiner como
nvidia-docker run --rm -it --ipc=host -p 8888:8888 deep-image-prior
você receberá uma URL por meio da qual pode se conectar ao bloco de notas Jupyter.
Para executá-lo usando o Google Colab, clique [aqui] (https://colab.research.google.com/github/DmitryUlyanov/deep-image-prior) e selecione o bloco de notas a ser executado. Lembre-se de descomentar a primeira célula para clonar o repositório no ambiente do colab.
@article{UlyanovVL17,
author = {Ulyanov, Dmitry and Vedaldi, Andrea and Lempitsky, Victor},
title = {Deep Image Prior},
journal = {arXiv:1711.10925},
year = {2017}
}