【问题标题】:Does deleting an AutoML Vision dataset also delete the model?删除 AutoML Vision 数据集是否也会删除模型?
【发布时间】:2020-01-05 02:48:44
【问题描述】:

我正在 Google 的 AutoML Vision 图像分类服务中创建模型。部署新模型时,我想删除它们的前任。

在控制台中,删除训练好的模型并不会删除数据集。但是,删除数据集似乎会删除模型。删除模型时,显示以下警告:Your model will be removed from Google Cloud, and any API queries to this model will no longer work. 删除数据集时,显示此警告:Your dataset will be removed from Google Cloud, including all label data. Your images on Cloud Storage (GCS) will not be affected.。同样,没有迹象表明删除数据集也会删除模型。考虑到数据集和模型在控制台中是如何绑定在一起的,当我测试它时它似乎已经这样做是有道理的,但我找不到任何关于此的文档。

使用客户端 API(例如 NodeJS)时,文档会同时显示 how to delete a datasethow to delete a model。但是,似乎没有任何迹象表明删除数据集是否也会删除模型。

Google 在managing datasetsmanaging models 上的文档也没有说明删除数据集是否也会删除模型。

使用客户端 API 时,我只需要删除数据集,还是必须同时删除数据集和模型?

我倾向于认为模型确实会随数据集一起删除 - 但我想确保情况确实如此。

【问题讨论】:

    标签: google-cloud-automl


    【解决方案1】:

    编辑:这个答案是在v1 API 发布之前使用v1beta1 API 做出的。我相信 v1 API 不再适用这个答案。

    我现在已经使用 NodeJS 客户端库对此进行了测试,并且可以确认 deleteDataset 方法确实删除了数据集及其对应的模型。

    const formattedParent = automl.locationPath('foobar', 'us-central1');
    
    // List Datasets
    const datasetsA = await automl.listDatasets({parent: formattedParent})
    console.log(`BEFORE Datasets: ${JSON.stringify(datasetsA, null, 4)}`)
    
    // List Models
    const modelsA = await automl.listModels({parent: formattedParent})
    console.log(`BEFORE Models: ${JSON.stringify(modelsA, null, 4)}`)
    
    // Delete Dataset
    const formattedName = automl.datasetPath('foobar', 'us-central1', 'barbaz')
    const [operation, initialApiResponse] = await automl.deleteDataset({name: formattedName})
    const responses = await operation.promise()
    const result = responses[0]
    const metadata = responses[1]
    const finalApiResponse = responses[2]
    console.log(`result: ${JSON.stringify(result, null, 4)}`)
    console.log(`metadata: ${JSON.stringify(metadata, null, 4)}`)
    console.log(`finalApiResponse: ${JSON.stringify(finalApiResponse, null, 4)}`)
    
    // List Datasets
    const datasetsB = await automl.listDatasets({parent: formattedParent})
    console.log(`AFTER Datasets: ${JSON.stringify(datasetsB, null, 4)}`)
    
    // List Models
    const modelsB = await automl.listModels({parent: formattedParent})
    console.log(`AFTER Models: ${JSON.stringify(modelsB, null, 4)}`)
    

    控制台的输出确认删除 LRO 完成后模型不再存在。

    【讨论】:

      猜你喜欢
      • 2010-10-27
      • 1970-01-01
      • 2012-08-05
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多