Como configurar o TensorFlow 2 em R em 5 minutos (Tutorial de reconhecimento de imagem BONUS)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon business-science.io, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

As duas linguagens de ciência de dados mais populares – Python e R – são frequentemente colocadas como rivais. Isso não poderia estar mais longe da verdade. Os cientistas de dados que aprendem a usar os pontos fortes de ambas as línguas são valiosos porque não tem limites.

  • Aprendizado de máquina e aprendizado profundo: Eles podem mudar para Python para aproveitar scikit learn e tensorflow.
  • Disposição de dados, visualização, aplicativos e relatórios: Eles podem mudar rapidamente para R para usar tidyverse, shiny e rmarkdown.

A linha inferior é que conhecer ambos R e Python te faz SUPER PRODUTIVO.

Atualizações do artigo:

  • Este artigo foi atualizado. Veja o artigo atualizado do TensorFlow em Business Science.

  • Confira este artigo para configurar o Scikit Learn em um ambiente Python 3.8.

Tem 5 minutos?
Em seguida, vamos configurar o TensorFlow 2 para aprendizado profundo

Analisaremos as dicas essenciais de configuração dos profissionais – aquelas que usam Python da R via reticulate.

  • Instalar TensorFlow em R

  • Faça um Análise de reconhecimento de imagem verificar TensorFlow está funcionando.

Aqui está o Tutorial de Reconhecimento de Imagem BÔNUS. Você classificará Imagens de moda.

Classificação da Bota no TensorFlow

Classificação de inicialização do tornozelo TensorFlow – Tutorial para testar se o TF está funcionando

Leia Também  De quem é esse sonho? Quando e como usar a API funcional Keras

Usando o TensorFlow & R
Como você os usa juntos em Projetos de Negócios?

Configurando TensorFlow no R é um aumento de produtividade insano. Você pode aproveitar o melhor do Python + R. Mas ainda precisa aprender como usar Python e R juntos para projetos de negócios reais. E os seus impossível para ensinar a você todas as entradas e saídas em um pequeno artigo. Mas tenho ótimas notícias!

Acabei de lançar um NOVA SÉRIE DE LABORATÓRIO DE APRENDIZAGEM PYTHON + R DE 5 PEÇAS (Registre-se Aqui) que mostrará como usar Python e R juntos em Projetos de negócios reais:

  • Laboratório 34: Clustering de funcionários de recursos humanos
  • Laboratório 35: Segmentação avançada de clientes e análise de cesto de compras
  • Laboratório 36: TensorFlow for Finance
  • Laboratório 37: TensorFlow para previsão de demanda de energia
  • Laboratório 38: Social Media Text Analytics!

E é gratuito assistir ao vivo.

Registre-se aqui para assistir ao Python + R Learning Labs ao vivo de graça. Notificarei você com antecedência sobre os cursos acelerados de 1 hora que você pode participar por meio de webinar.


Python + R, registre-se para a NOVA Série do Laboratório de Aprendizagem

Instalando o TensorFlow no R

Esse processo deve levar menos de 5 minutos. Primeiro, temos alguns requisitos para obter TensorFlow 2 instalado.

Requisitos do TensorFlow 2.0.0

Eles podem mudar (no futuro), mas atualmente os requisitos são:

  • Python 3.5-3.7
  • Windows 7 ou posterior
  • MacOS 10.12.6 ou posterior
  • Ubunto 16.04 ou posterior

Se você seguiu o Tutorial do Scikit Learn in R, usamos o Python 3.8 (versão estável mais recente). Não podemos usar o Python 3.8 para TensorFlow, por isso precisamos criar um novo ambiente. Usaremos o Python 3.6 neste tutorial.

Requisitos Conda

Se você não possui o Conda instalado, instale aqui: Instalação do Anaconda.

Instalando o TensorFlow em R com reticulada

Faça isso em R. Instalar e carregar tidyverse, reticulatee tensorflow.

library(tidyverse)
library(reticulate)
library(tensorflow)

Em seguida, execute install_tensorflow() no seu ambiente R. Isso levará cerca de 3-5 minutos para instalar TensorFlow em um novo ambiente Conda chamado “Py3.6”.

install_tensorflow(
    method               = "conda", 
    version              = "default", # Installs TF 2.0.0 (as of May 15, 2020)
    envname              = "py3.6", 
    conda_python_version = "3.6", 
    extra_packages       = c("matplotlib", "numpy", "pandas", "scikit-learn")
)

Nota: Você pode realmente especificar qual versão do TensorFlow instalar com o version arg. Isso pode ser útil para alternar da versão da CPU para a versão GPU (maior poder, maior responsabilidade) ou acessar as versões mais antigas do TF.

Podemos verificar para ver que py3.6 ambiente conda foi criado.

Leia Também  Treinamentos R online ao vivo e interativos - Introdução e aprendizado de máquina
conda_list()
##        name                                             python
## 1 anaconda3            /Users/mdancho/opt/anaconda3/bin/python
## 2     py3.6 /Users/mdancho/opt/anaconda3/envs/py3.6/bin/python
## 3     py3.7 /Users/mdancho/opt/anaconda3/envs/py3.7/bin/python
## 4     py3.8 /Users/mdancho/opt/anaconda3/envs/py3.8/bin/python

Em seguida, dizemos reticulate para usar o py3.6 ambiente conda.

use_condaenv("py3.6", required = TRUE)

Parabéns pela instalação está concluída! – Agora vamos usar TensorFlow para classificar imagens.

Análise de reconhecimento de imagem
Para verificar se o TensorFlow está funcionando

Vamos analisar um breve tutorial de reconhecimento de imagem. Este tutorial vem da classificação básica do Google: classifique imagens de roupas

Etapa 1 – Crie um pedaço de código Python

Use a Dica Pro nº 1 abaixo para fazer uma “Pedaço de código Python”.

Pedaços de código Python

Python Code Chunk

Etapa 2 – Importar bibliotecas

Importe as bibliotecas necessárias:

  • Aprendizagem Profunda: tensorflow e keras
  • Matemática: numpy
  • Visualização: matplotlib
# TensorFlow and tf.keras
import tensorflow as tf
from tensorflow import keras

# Helper libraries
import numpy as np
import matplotlib.pyplot as plt

Verifique a versão do tensorflow para garantir que estamos usando o 2.0.0+.

print(tf.__version__)
## 2.0.0

Etapa 3 – Carregar as imagens da moda

Carregue o fashion_mnist conjunto de dados de keras.

fashion_mnist = keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

Temos 60.000 imagens de treinamento rotuladas.

train_images.shape
## (60000, 28, 28)

Podemos verificar os rótulos exclusivos para ver a quais classificações as imagens pertencem. Observe que esses são valores numéricos que variam de 0 a 9.

np.unique(train_labels)
## array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=uint8)

Os rótulos correspondentes são:

class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']

Podemos ver como é a primeira imagem usando matplotlib.

plt.figure()
plt.imshow(train_images[])
plt.colorbar()
## 
plt.grid(False)
plt.show()

lote de pedaço sem nome-pedaço-11

E também podemos conferir as 25 primeiras imagens.

plt.figure(figsize=(10,10))
for i in range(25):
    plt.subplot(5,5,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.grid(False)
    plt.imshow(train_images[i], cmap=plt.cm.binary)
    plt.xlabel(class_names[train_labels[i]])
plt.show()

lote de pedaço sem nome-pedaço-12

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Etapa 4 – Modelando com Keras

Faça um keras modelo usando o Sequential() com 3 etapas: Achatar, Denso e Denso.

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(28, 28)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dense(10)
])

Próximo, compile o modelo com o otimizador “adam”.

model.compile(
    optimizer = 'adam',
    loss      = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    metrics   = ['accuracy']
)

Inspecione o resumo do modelo.

Leia Também  Tudo o que você precisa saber sobre análise fatorial múltipla ...
model.summary()
## Model: "sequential"
## _________________________________________________________________
## Layer (type)                 Output Shape              Param #   
## =================================================================
## flatten (Flatten)            (None, 784)               0         
## _________________________________________________________________
## dense (Dense)                (None, 128)               100480    
## _________________________________________________________________
## dense_1 (Dense)              (None, 10)                1290      
## =================================================================
## Total params: 101,770
## Trainable params: 101,770
## Non-trainable params: 0
## _________________________________________________________________

Etapa 5 – Ajuste o modelo Keras

PASSO CRÍTICO – Monte o modelo. Verifique se esta etapa funciona!

model.fit(train_images, train_labels, epochs=10, verbose=1)

Treinamento do modelo TensorFlow

Treinamento do modelo TensorFlow

Etapa 6 – Histórico de treinamento

# Python
history = model.history.history
history
## {'loss': [3.1226694132328032, 0.6653605920394262, 0.5747007430752118, 0.5286751741568247, 0.508751327864329, 0.5023731174985567, 0.48900006746848423, 0.4814090680360794, 0.4810072046995163, 0.47561218699614205], 'accuracy': [0.68145, 0.74085, 0.79331666, 0.8143, 0.8228833, 0.8244333, 0.8283167, 0.83428335, 0.8348, 0.83521664]}

Vou traçar isso usando R. Observação – este é um pedaço de código R (não um pedaço de código Python).

# R Code Chunk (not Python)
py$history %>% 
    as_tibble() %>%
    unnest(loss, accuracy) %>%
    rowid_to_column() %>%
    pivot_longer(-rowid) %>%
    ggplot(aes(rowid, value, color = name)) +
    geom_line() +
    geom_point() +
    labs(title = "Training Accuracy")

lote de pedaço sem nome-pedaço-18

Etapa 7 – Precisão do teste

Avalie a precisão nas imagens fora da amostra.

# Python
test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)
## 10000/1 - 0s - loss: 0.4470 - accuracy: 0.8098

Etapa 8 – Faça previsões

O modelo produz saídas lineares identificadas como “logits”. A camada softmax para converte os logits em probabilidades.

probability_model = tf.keras.Sequential([model, tf.keras.layers.Softmax()])

Em seguida, podemos classificar todas as imagens de teste (destacadas)

predictions = probability_model.predict(test_images)

Podemos fazer uma previsão para a primeira imagem.

predictions[]
## array([7.7921860e-21, 3.3554016e-13, 0.0000000e+00, 1.8183892e-15,
##        0.0000000e+00, 4.0730215e-03, 8.1443369e-20, 4.2793788e-03,
##        2.6940727e-18, 9.9164760e-01], dtype=float32)

Usar np.argmax() para determinar qual índice tem a maior probabilidade.

np.argmax(predictions[])
## 9

O valor do índice pode ser recuperado com np.max().

np.max(predictions[])
## 0.9916476

Pegue o nome da turma.

class_names[np.argmax(predictions[])]
## 'Ankle boot'

E visualize a imagem.

plt.figure()
plt.imshow(test_images[])
plt.colorbar()
## 
plt.grid(False)
plt.show()

lote de pedaço sem nome-pedaço-26

Bom trabalho – Se você passou ileso por este tutorial, está indo bem! E você está pronto para o TensorFlow Learning Labs.

Dicas profissionais (Python em R)

Agora que você tem python correndo em R, use essas dicas profissionais para tornar sua experiência muito mais agradável.

Dica profissional nº 1 – Atalho do teclado Python Chunk

Eu não posso enfatizar isso o suficiente – Configure um atalho de teclado para pedaços de código Python. Este é um enorme aumento de produtividade para documentos da Rmarkdown.

  • Minha preferência: Ctrl + Alt + P

Quando você bate Ctrl + Alt + P, uma {python} um pedaço de código aparecerá no seu documento R Markdown.

Crie o atalho de teclado Python

Dica profissional nº 2 – Use o Python interativamente

Para depurar pedaços de código Python no R Markdown, pode ajudar a usar o repl_python() para converter seu console em um console de código Python. Para fazer isso:

  • No R Console, você pode executar python interativamente usando repl_python(). Você verá >>> indicando que você está no modo Python.
  • Verifique se o ambiente Python / Conda correto está selecionado.
  • Para escapar do Python no console, basta pressionar escape.

Python interativamente

Dica profissional nº 3 – Meus 4 principais comandos do terminal Conda

Em algum momento, você precisará criar, modificar e adicionar mais pacotes aos seus ambientes Conda. Aqui estão 4 comandos úteis:

  1. Corre conda env list para listar os ambientes conda disponíveis
  2. Corre conda activate ativar um ambiente conda
  3. Corre conda update --all para atualizar todos python pacotes em um ambiente conda.
  4. Corre conda install instalar um novo pacote

Use Python em aplicativos brilhantes

Até agora não falamos sobre Shiny – a estrutura de aplicativos da web que é usado para levar o seu python e R modelos de aprendizado de máquina em Produção.

Biblioteca de aplicativos de ciência de negócios

Um Meta-Aplicativo que abriga Aplicativos Brilhantes

R Shiny precisa estar na sua caixa de ferramentas se você deseja produzir Data Science. Você simplesmente não pode colocar aplicativos de aprendizado de máquina em produção com outras ferramentas de “BI”, como Tableau, PowerBI e QlikView.

PONTO CRÍTICO: Você pode USAR BRILHANTE para produzir Scikit Learn e TensorFlow modelos.

Se você precisa aprender o R ​​Shiny o mais rápido possívelEu tenho o programa perfeito para você. Vai acelerar sua carreira. O pacote R-Track de 4 cursos através da ciência de negócios.

Tem dúvidas sobre o uso do Python + R?

Faça um comentário no chat abaixo. 👇

E, se você planeja usar Python + R no trabalho, é fácil – participe de meus Laboratórios de aprendizagem (eles são GRATUITOS para assistir ao vivo).

var vglnk = {key: ‘949efb41171ac6ec1bf7f206d57e90b8’};

(função (d, t) {
var s = d.createElement
s.src = ‘//cdn.viglink.com/api/vglnk.js’;
var r = d.getElementsByTagName
} (documento, ‘script’));

Para Deixe um comentário para o autor, siga o link e comente no blog: business-science.io.

R-bloggers.com oferece atualizações diárias por email sobre notícias e tutoriais do R sobre o aprendizado do R e muitos outros tópicos. Clique aqui se você deseja publicar ou encontrar um emprego em ciência da dados / R.


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br