Problemas do Google Cloud ML e GCS Bucket

Estou usando implementações de documentos de pesquisa de Tensorflow de código aberto, por exemplo, DCGAN-tensorflow . A maioria das bibliotecas que estou usando está configurada para treinar o modelo localmente, mas eu quero usar o Google Cloud ML para treinar o modelo, pois não tenho uma GPU no meu laptop. Estou achando difícil alterar o código para dar suporte aos intervalos do GCS. No momento, estou salvando meus logs e models em / tmp e executando um comando ‘gsutil’ para copiar o diretório para gs: // my-bucket no final do treinamento ( exemplo aqui ). Se eu tentar salvar o modelo diretamente em gs: // my-bucket, ele nunca será exibido.

Quanto aos dados de treinamento, uma das amostras de tensorflow copia dados do GCS para / tmp para treinamento ( exemplo aqui ), mas isso só funciona quando o dataset é pequeno. Eu quero usar celebA, e é muito grande para copiar para / tmp a cada execução. Existe alguma documentação ou guias sobre como atualizar o código que treina localmente para usar o Google Cloud ML?

As implementações estão executando várias versões do Tensorflow, principalmente .11 e .12

Atualmente não há um guia definitivo. A idéia básica seria replace todas as ocorrências de operações de arquivos nativos do Python com equivalentes no módulo file_io , mais notavelmente:

  • open() -> file_io.FileIO()
  • os.path.exists() -> file_io.file_exists()
  • glob.glob() -> file_io.get_matching_files()

Essas funções funcionarão localmente e no GCS (assim como em qualquer sistema de arquivos registrado). Note, no entanto, que existem algumas pequenas diferenças no file_io e nas operações de arquivo padrão (por exemplo, um conjunto diferente de ‘modos’ é suportado).

Felizmente, o ponto de verificação e a redação resumida funcionam imediatamente, apenas certifique-se de passar um caminho do GCS para tf.train.Saver.save e tf.summary.FileWriter .

Na amostra que você enviou, parece potencialmente dolorosa. Considere o monkey patching das funções do Python para mapear os equivalentes do TensorFlow quando o programa começar a fazer isso apenas uma vez (demonstrado aqui ).

Como observação, todos os exemplos nesta página mostram a leitura de arquivos do GCS.

Intereting Posts