7

używam Google Cloud trenować sieci neuronowej w chmurze jak w poniższym przykładzie:„Nie można dostać systemów plików na ścieżce” błąd podczas uczenia sieci neuronowej na Google Cloud

https://cloud.google.com/blog/big-data/2016/12/how-to-classify-images-with-tensorflow-using-google-cloud-machine-learning-and-cloud-dataflow

Aby rozpocząć I ustaw następujące zmienne środowiskowe do:

PROJECT_ID=$(gcloud config list project --format "value(core.project)") 
BUCKET_NAME=${PROJECT_ID}-mlengine 

potem dodał moich danych szkoleniowych i ewaluacji, zarówno CSV jest z nazwami eval_set.csv i train_set.csv na chmurze Google za pomocą następującego polecenia:

gsutil cp -r data gs://$BUCKET_NAME 

Następnie zweryfikowałem, że te dwa pliki csv znajdują się w katalogu polar-terminal-160506-mlengine/data w mojej pamięci Google Cloud.

I wtedy zrobił następujące zmienne środowiskowe przypisania

# Assign appropriate values. 
PROJECT=$(gcloud config list project --format "value(core.project)") 
JOB_ID="flowers_${USER}_$(date +%Y%m%d_%H%M%S)" 
GCS_PATH="${BUCKET}/${USER}/${JOB_ID}" 
DICT_FILE=gs://cloud-ml-data/img/flower_photos/dict.txt 

Przed próbą Preprocesuj moich danych ewaluacyjnych tak:

# Preprocess the eval set. 
python trainer/preprocess.py \ 
    --input_dict "$DICT_FILE" \ 
    --input_path "gs://cloud-ml-data/img/flower_photos/eval_set.csv" \ 
    --output_path "${GCS_PATH}/preproc/eval" \ 
    --cloud 

Niestety, ten biegnie przez chwilę, a potem awarie wyprowadzania następujący błąd :

ValueError: Unable to get the Filesystem for path gs://polar-terminal-160506-mlengine/data/eval_set.csv 

To nie wydaje się możliwe, ponieważ potwierdziły moje oczy za pośrednictwem mojej konsoli Google Cloud Storage, że plik eval_set.csv jest przechowywany w tej lokalizacji. Czy to może być problem z uprawnieniami lub coś, czego nie widzę?

Edit:

znalazłem przyczynę tego błędu czasu wykonywania się z pewnej linii pliku trainer.preprocess.py. Linia jest następująca:

read_input_source = beam.io.ReadFromText(
     opt.input_path, strip_trailing_newlines=True) 

Wydaje się być całkiem dobrą wskazówką, ale nadal nie jestem do końca pewien, co się dzieje. Kiedy google "beam.io.ReadFromText ValueError: Nie można uzyskać systemu plików dla ścieżki" nie wydaje się nic istotnego, co jest nieco dziwne. Myśli?

Odpowiedz

4

Wygląda na to, że instalacja biblioteki apache-beam może być niekompletna.

spróbować pip install apache-beam[gcp]

Pozwala belka apache, aby uzyskać dostęp do plików przechowywanych w chmurze Google.

pakiet Apache Beam dostępne here

+0

hi, starając się rozwiązać ten sam problem tutaj. Nie mogłem znaleźć tej biblioteki w PyPi: 'nie znaleziono wyników: apache-beam [gcp]' –

+0

@LucasShen Wygląda na to, że jest dostępny na Pypi [tutaj] (https://pypi.python.org/pypi/apache- Belka). Być może Twoja wersja python nie jest kompatybilna z pakietem? –