【问题标题】:How to import data to Dataset and retrain custom model in Google Cloud AutoML如何将数据导入数据集并在 Google Cloud AutoML 中重新训练自定义模型
【发布时间】:2019-03-09 08:31:39
【问题描述】:

我是 GCP 的新开发人员,我了解 Google Cloud AutoML 自定义模型。但我在使用 AutoML Vision 时遇到了 2 个问题。

1.我无法将云存储中的 csv 文件中的数据导入数据集。 我正在使用 C# 调用 RestAPI,但它的错误 404。下面是我的代码。

var uri = "https://automl.googleapis.com/v1beta1/projects/{project-id}/locations/us-central1/datasets/{dataset-id}:import";

        var request = (HttpWebRequest)WebRequest.Create(uri);
        request.Method = "POST";
        request.ContentType = "application/json";
        request.Headers.Add("Authorization", "Bearer " + _token);

        using (var streamWriter = new StreamWriter(request.GetRequestStream()))
        {
            string json = "{\"inputUris\":\"gs://{bucket-name}/Vehicles/csv/{csv-file-name}.csv\"}";
            Console.WriteLine(json);
            streamWriter.Write(json);
            streamWriter.Flush();
            streamWriter.Close();
        }

        try
        {
            var httpResponse = (HttpWebResponse)request.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
                Console.WriteLine(result);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

2。我怎么不能使用 C# 或 RestAPI 重新训练自定义模型

例如:用户上传带有该图像标签的某物的新图像。然后创建一个 csv 文件并上传到云存储。因此,我想使用该 csv 文件导入数据集,然后仅重新训练自定义模型中的 csv 文件中的图像(将新图像训练添加到旧模型)。

【问题讨论】:

    标签: c# rest machine-learning google-cloud-platform google-cloud-vision


    【解决方案1】:

    除了@Awais 的回答, 正确的调用api是

    https://automl.googleapis.com/v1beta1/projects/{id-project}/locations/us-central1/datasets/{id-dataset}:importData
    

    并且此函数的正确 json 格式有效负载是

    {
        "inputConfig": {
            "gcsSource": {
                "inputUris": [
                    "gs://my-bucket-vcm/uploads/app/csv/19_03_2019_18_16_35.csv"
                ]
            }
        }
    }
    

    Source

    【讨论】:

      【解决方案2】:

      问题1的答案: 我建议你重新检查 csv 文件,检查这个link 示例:

      gs://my-project-lcm/training-data/file1.txt,Sports,Basketball
      gs://my-project-lcm/training-data/ubuntu.zip,Computers,Software,Operating_Systems,Linux,Ubuntu
      file://news/documents/file2.txt,Sports,Baseball
      "Miles Davis was an American jazz trumpeter, bandleader, and composer.",Arts_Entertainment,Music,Jazz
      TRAIN,gs://my-project-lcm/training-data/astros.txt,Sports,Baseball
      VALIDATE,gs://my-project-lcm/training-data/mariners.txt,Sports,Baseball
      TEST,gs://my-project-lcm/training-data/cubs.txt,Sports,Baseball
      

      问题2的答案: 我认为,当您重新训练数据集(使用新图像)时,它将使用所有数据集(使用新图像)创建一个新模型。 如果您查看模型列表,您将看到您将拥有 2 个模型和一个数据集。

      如果你想导入数据集,这是使用 curl:

      curl 
        -X POST 
        -H "Authorization: Bearer here-access-token" 
        -H "Content-Type: application/json" 
        https://automl.googleapis.com/v1beta1/projects/{id-project}/locations/us-central1/datasets/{id-dataset}:import \
        -d '{
          "inputUris": "gs://name-bucket-vcm/csv/file-csv.csv",
        }'
      

      这里是python代码:

      import requests
      
      url = "https://automl.googleapis.com/v1beta1/projects/{id-project}/locations/us-central1/datasets/{id-dataset}:import"
      
      payload = "{"inputUris": "gs://bucket-vcm/csv/file-csv.csv"}"
      headers = {
          'Content-Type': "application/json"
          }
      
      response = requests.request("POST", url, data=payload, headers=headers)
      
      print(response.text)
      

      【讨论】:

      • 答案 1:不工作,这是我的 csv 文件“TRAIN,gs://bucket-name/Vehicles/images/Other-001.jpg,Other”,这是我的错误“遥控器服务器返回错误:(404)未找到。”
      • 我尝试使用此 uri "gs://{bucket-name}/Vehicles/csv/{csv-file-name}.csv" 将图像导入 AutoML Vision UI 上的数据集
      • 尝试通过 cURL 导入数据集
      • 我在windows上使用cygwin,下面是输出 curl -X POST -H "Authorization: Bearer my-token" -H "Content-Type: application/json" automl.googleapis.com/v1beta1/projects/project-id/locations/… -d ' {"inputUris": "gs://budget-name/Vehicles/csv/file-name.csv"}' % Total % Received % Xferd Average Speed Time Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) 无法解析主机:automl.googleapis.com
      • 并使用 gcloud shell,下面是输出
      猜你喜欢
      • 2021-10-16
      • 1970-01-01
      • 2023-01-31
      • 2017-12-11
      • 2017-06-19
      • 2021-07-07
      • 2021-11-06
      • 2019-07-14
      • 1970-01-01
      相关资源
      最近更新 更多