Google AI Platform でtensorflow-cloudジョブを実行すると、ジョブのエントリポイントは次のようになります。
import tensorflow as tf
filename = r'gs://my_bucket_name/hello.txt'
with tf.io.gfile.GFile(filename, mode='w') as w:
w.write("Hello, world!")
with tf.io.gfile.GFile(filename, mode='r') as r:
print(r.read())
ジョブは正常に完了し、ログに「hello world」と出力されます。
バケットとジョブは両方とも同じリージョンにあります。
しかし、Cloud Storage でファイルが見つかりません。そこにはありません。他のいくつかのテストを実行しtf.io.gfile.listdir
、新しいファイルを書き込んでtf.io.gfile.listdir
、前後を印刷しました。ファイルが追加されたようですが、クラウドストレージを開くと、そこに見つかりません。ストレージからファイルを読み取ることもできました。
パーミッション エラーは発生しません。公式ドキュメントにあるように、AI プラットフォームには Cloud Storage に対する読み取り/書き込みのパーミッションが既にあります。
これが私のmain.py
ファイルです:
import tensorflow_cloud as tfc
tfc.run(
entry_point="run_me.py",
requirements_txt="requirements.txt",
chief_config=tfc.COMMON_MACHINE_CONFIGS['CPU'],
docker_config=tfc.DockerConfig(
image_build_bucket="test_ai_storage"),
)
これは、問題を再現できる最小限のバージョンです。