Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Este livro é um Jupyter Book, que permite executar, reproduzir ou modificar interativamente as seções deste livro que contêm código. Este capítulo fornece uma visão geral do que são os Jupyter books e como eles permitem que seu conteúdo seja reproduzível.

Projeto Jupyter Book

O projeto Jupyter Book é um projeto de código aberto. É desenvolvido pelo Executable Book Project, que é uma colaboração internacional entre várias universidades e outros projetos de código aberto.

Por baixo dos panos, um Jupyter Book é essencialmente uma coleção de arquivos markdown e notebooks Jupyter. Esses arquivos são compilados juntos de acordo com a configuração e as especificações da tabela de conteúdo. Você pode seguir o ícone do Github no topo desta página para ver o código-fonte deste livro.

Layout do livro

O layout do livro oferece cinco zonas principais:

  1. A ferramenta de busca (canto superior esquerdo): permite encontrar todas as seções do livro que contêm um termo específico.

  2. O sumário (painel esquerdo): permite navegar entre os diferentes capítulos e seções principais do livro.

  3. Os links externos (topo): contém ícones para iniciar notebooks, alternar para o modo de tela cheia, acessar o repositório do Github ou baixar o conteúdo da seção atual.

  4. O painel principal (centro): o conteúdo da seção atual.

  5. O conteúdo da seção (painel direito): permite navegar nas subseções da seção atual.

Reprodutibilidade

Todas as seções que contêm código (notebooks Jupyter), como esta seção, terão um ícone de foguete nos links externos, permitindo executar o notebook na nuvem. Dois serviços são fornecidos: Google Colab e Binder. Descrevemos brevemente esses dois serviços abaixo, com seus prós and contras.

Google Colab

O Google Colab é um serviço fornecido pelo Google Research e requer uma conta do Google. Ele permite executar notebooks Python gratuitamente na nuvem do Google.

Os recursos computacionais fornecidos pelo Google Colab podem flutuar. Eles dependem dos recursos disponíveis do Google, bem como do seu uso do serviço (o uso intenso pode levar a recursos mais baixos). No entanto, você pode esperar ter um núcleo e alguns gigabytes de RAM. O Google Colab também fornece uma GPU gratuita, cujo modelo pode variar dependendo dos recursos disponíveis. Os modelos de GPU fornecidos geralmente incluem Nvidia K80s, T4s, P4s ou P100s. Consulte este link para obter mais detalhes sobre os recursos que o Google pode fornecer.

Binder

O Binder Beg et al. (2021) permite criar, usar e compartilhar ambientes de computação personalizados. É alimentado pelo BinderHub, que é uma ferramenta de código aberto que implanta o serviço Binder na nuvem.

Os notebooks podem ser iniciados e executados gratuitamente, graças à Federação BinderHub, atualmente apoiada pela Google Cloud Platform, OVH, GESIS notebooks e pelo Alan Turing Institute. O BinderHub conta com o Repo2Docker para gerar imagens docker de um repositório Git e o JupyterHub para executar e compartilhar notebooks.

Geralmente, leva cerca de um ou dois minutos para o Binder criar um contêiner Docker e começar a servir um notebook. O arquivo environment.yml, presente na raiz do repositório do livro no Github, é usado para especificar quais bibliotecas Python devem ser instaladas no contêiner docker.

Assim como no Google Colab, os recursos fornecidos gratuitamente pela Federação BinderHub flutuam. Consulte o guia do usuário do Binder e as diretrizes do usuário do Binder para obter mais detalhes sobre os recursos que a Federação BinderHub pode fornecer.

Prós e contras

Um resumo dos recursos do Google Colab e do Binder é fornecido abaixo.

Google ColabBinder
RegistroRequer um login do GoogleNenhum
Recursos de CPUFlutuamFlutuam
Recursos de RAMFlutuamFlutuam
Recursos de GPUFlutuam. Geralmente incluem Nvidia K80s, T4s, P4s ou P100sNenhum
Duração da sessãoAté 12 horasAté 12 horas
AmbientePython 3.6Personalizável com o arquivo environment.yml

Em nossa experiência, os tempos de execução do Google Colab são cerca de duas vezes mais rápidos que os do Binder.

Este resumo reflete o status dos dois serviços no momento da redação desta seção (janeiro de 2021). No entanto, espera-se que os recursos desses dois serviços evoluam em um futuro próximo.

Experimente!

Abra este notebook usando o Google Colab ou o Binder para executar a seguinte célula:

print('Hello world!')
Hello world!

Execução local e compilação do livro

Este é um livro de código aberto, e o código é disponibilizado no GitHub (ou seguindo o ícone do GitHub nos links externos no topo desta página). Você pode executar os notebooks do livro em seu computador clonando o repositório do GitHub.

Você também pode recompilar o livro. A compilação do livro exigirá primeiro que você instale o Jupyter Book.

Feito isso, este é um processo de duas etapas:

  1. Clone o repositório do livro:

git clone https://github.com/Fraud-Detection-Handbook/fraud-detection-handbook
  1. Compile o livro

jupyter-book build fraud-detection-handbook

O livro estará disponível localmente em fraud-detection-handbook/_build/html/index.html.

References
  1. Beg, M., Taka, J., Kluyver, T., Konovalov, A., Ragan-Kelley, M., Thiéry, N. M., & Fangohr, H. (2021). Using Jupyter for reproducible scientific workflows. Computing in Science & Engineering, 23(2), 36–46.