O que é uma infra-estrutura apropriada para Deep Learning? [fechadas]

4

Eu trabalho na competição Galaxy Zoo de Kaggle com o Keras / Tensorflow, mas a enorme quantidade de dados (muitas imagens) envia meu computador ao limbo. O meu é um PC mais ou menos comum (i5) com uns generosos 48GB de RAM, embora eu não consiga utilizar a minha GPU (minha placa de vídeo não é compatível com CUDA). Eu uso o combo Ubuntu e Anaconda.

O problema real é que o Python lança "Erro de memória" ao ler as imagens do disco em um array numpy empilhado. Aparentemente minha memória é insuficiente para o trabalho e eu poderia imaginar que o mesmo seria verdade para qualquer tarefa séria (é claro, existem projetos além da classificação do MNIST).

Então, minha pergunta é: o que é e como posso obter uma infra-estrutura capaz de lidar com trabalhos dessa escala? Na verdade, qual é o verdadeiro gargalo aqui? Memória? O comando top Linux mostra apenas cerca de 10% de uso de memória no caso do processo Python em execução, o que é curioso.

Claro, eu não estou no nível dos jogadores institucionais, então apenas os custos razoáveis são aceitáveis ...

    
por Hendrik 19.01.2017 / 10:48

1 resposta

0

Velocidade numpy vs Cython no Stack Overflow discute diferentes maneiras de otimizar a velocidade de execução de tarefas pesadas operações numéricas usando parte-cython otimizando o compilador estático para Python e C.

Como a descrição do pacote part-cython no aplicativo do Ubuntu Software sugere, o conhecimento de C e Python é necessário.

  

A linguagem Cython é um superconjunto da linguagem Python que suporta adicionalmente chamar funções C e declarar tipos C em variáveis e atributos de classe. Isso permite que o compilador gere código C muito eficiente a partir do código Cython.

Eu não sou fã de Anaconda. Embora o python-pip e o python3-pip dos repositórios padrão do Ubuntu tenham uma curva de aprendizado desafiadora, eles são mais fáceis para os instaladores de pacotes Python usarem no longo prazo.

    
por karel 19.01.2017 / 11:18