问题
I want to run tensorflow traning script in google cloud ml. One of the buckets from an external project. I have created cloud ml engine service account and add it as an user to this external project.
After that, have executed the following command in my terminal with gcloud initialised project:
gcloud auth activate-service-account --my-service-acc-key.json
And then submit my job as:
gcloud ml-engine jobs submit training ..arguments
Job was submitted successfully and was running until accessing resources from external bucket with file_io.FileIO('gs://external-bucket')
I got the following error SSL: no alternative certificate subject name matches target host ${bucket-name}.storage.googleapis.com
instead.
Looks like something wrong with credentials, but can't find anything useful in documentation.
What could be a problem?
回答1:
Unfortunately domain buckets like bucketname.domainname.com
are not properly supported by the GCS client library inside TensorFlow at the moment.
This problem was fixed in the TensorFlow Google repository today.
The fix should become available on TensorFlow github within 2-3 days from now, after which you should be able to either build TensorFlow from head or take a nightly Linux build and provide it as one of the package_uris when submitting a training job to Cloud ML Engine.
Alternatively you can wait until it gets picked up by the next official TensorFlow release supported by Cloud ML Engine.
来源:https://stackoverflow.com/questions/43044566/ssl-no-alternative-certificate-subject-name-matches-target-host-name-name-stor