-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial Vision usage docs for discussion #1809
Conversation
|
||
.. doctest:: | ||
|
||
>>> images = (('./image.jpg', [vision.FeatureTypes.LABEL_DETECTION, |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
/cc @jerjou |
>>> annotated_images = [] | ||
>>> for image, feature_types in images: | ||
... annotated_images.append( | ||
... vision_client.annotate( |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Can you take a look at our Vision docs for Ruby that do things slightly differently? https://quartzmo.github.io/gcloud-ruby/#/docs/master/gcloud/vision |
@jgeewax I like their examples! Are you saying to look at their docs as an example for the usage layout or for how their API is defined...or both I suppose? I can condense this down a bit. I wanted to layout the cases here so we could discuss the API surface. |
@jgeewax @daspecster I'm working on updating our Vision docs demo with googleapis/google-cloud-ruby#696 and another pending PR, just FYI. |
One thing that I'm not sure about in However I guess since the charging is based on the feature types that in their example it wouldn't make any difference? analyses = vision.annotate do |annotate|
annotate.annotate face_image, faces: 10, labels: 10
annotate.annotate landmark_image, landmarks: 10
annotate.annotate text_image, text: true
end In that case I guess the only part in question is request overhead. I think the batching discussion will get there though. |
We have changed our API to accept booleans as well as max results, so when updated, most examples will use this new syntax: annotation = vision.annotate image, faces: true, labels: true |
@quartzmo, I like changing the I could take that out here and just make the default |
@daspecster The batch example you mention above results in a single API request. Nothing happens until the block execution completes. |
@quartzmo, I see now. Thanks! |
@daspecster We released our Vision support today in case you want to try it. |
@quartzmo thanks! I'll give it a go this weekend. |
|
||
- In addition to any authentication configuration, you should also set the | ||
:envvar:`GCLOUD_PROJECT` environment variable for the project you'd like | ||
to interact with. If you are Google App Engine or Google Compute Engine |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
General comment: Though there is only one method provided by the backend API, we can and should have many methods in our API, matching the concepts at the level you provide in each docs subsection. |
LGTM to go forward with the surface as described. |
Closing since we shouldn't have a usage doc with no surface methods available yet. Reopen if we want to chat more about any of this! |
/cc @jgeewax |
Here is a rough outline of the Vision usage RST.
Originally mentioned here.
The usage here essentially implies direct conversion of the responses to objects.
I think we have room here to add helper methods which could add value.
Let's discuss!