📜  使用 Google Cloud 函数为机器学习模型生成数据

📅  最后修改于: 2022-05-13 01:54:44.079000             🧑  作者: Mango

使用 Google Cloud 函数为机器学习模型生成数据

前提条件:在谷歌云平台上部署云函数

您是否在线搜索数据来训练您的模型?如果我们告诉您只需几行代码就可以生成自己的数据怎么办?

您只需要一个Google Cloud Platform帐户并知道如何将简单的代码部署到 Cloud 函数。我们将使用 Google 表格来存储数据。您可以使用 Cloud SQL 或 Google Cloud Storage Bucket 或 Firebase 来存储数据。您需要做的就是启用必要的 API。

启用 API 并创建凭证:

  1. 转到 Cloud Console 中的 Marketplace。
  2. 单击启用 API 和服务
  3. 然后搜索 Google Drive API 并启用它
  4. 然后转到屏幕左侧导航栏上的凭据选项卡。
  5. 然后点击 Create Credentials 然后选择 Service Account Key
  6. 然后通过给它一个名称来创建一个新的服务帐户,并在项目子字段下将角色设置为编辑器,并将密钥类型保持为 JSON,然后单击创建按钮。安全地保存下载的 JSON。

    完成所有这些步骤后,您的页面应如下所示

    主屏幕

  7. 再次转到仪表板并按照相同的步骤操作。这次搜索 Google Sheets 并启用 API。

创建电子表格

  1. 在 Google 表格中创建电子表格
  2. 为字段client_email查找下载的 JSON 文件并复制该电子邮件。
  3. 打开新创建的电子表格并单击共享选项并在此处键入粘贴client_email

这样,无聊的部分就完成了。现在,让我们进入代码。

设置云功能

  1. 创建一个新的 Cloud 函数并将Runtime更改为Python 3.7
  2. 转到requirements.txt并删除样板文本并将以下行添加到其中。

    gspread>=3.1.0
    oauth2client>=4.1.3

  3. 现在最重要也是最好的部分,编写代码。删除整个样板代码并粘贴以下代码
    import gspread
    from oauth2client.service_account import ServiceAccountCredentials
    from datetime import datetime
      
    def update(request):
        # getting the variables ready
        data = {
            # your client_json contents as dictionary
        }
      
        request_json = request.get_json()
        request_args = request.args
        temp = ""
      
        if request_json and 'temp' in request_json:
            temp = request_json['temp']
        elif request_args and 'temp' in request_args:
            temp = request_args['temp']
      
        # use creds to create a client to interact with the Google Drive API
        scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
      
        creds = ServiceAccountCredentials.from_json_keyfile_dict(data, scope)
      
        client = gspread.authorize(creds)
      
        # Find a workbook by name and open the first sheet
        # Make sure you use the right name here.
        sheet = client.open("Temperature").sheet1
      
        row = [datetime.now().strftime("% d/% m/% Y % H:% M:% S"), temp]
        index = 2
        sheet.insert_row(row, index)
    

    代码说明——

  4. 现在在要执行的函数中键入更新,然后单击ddeploy

之后,您的 Cloud 函数页面应如下所示
云功能
之后,需要点击函数名,这里函数-1
功能然后,转到触发选项卡
网址之后,请注意其中显示的 URL。这是您将连同数据参数一起发送 GET 请求以将参数值添加到电子表格的 URL。

设置物联网设备
您可以使用NodemcuArduino将数据发送到 Google Sheets,但您将需要一个 WiFi 模块,当然,也可以使用 Raspberry Pi。现在,您所要做的就是将 http 请求连同参数(此处为temp或 temperature)发送到 Cloud 函数 URL。这将编辑电子表格并将参数值添加到电子表格中。

话虽如此,这就是您可以使用 Cloud Functions 将数据记录到 Google 表格的方式。您可以对 Cloud SQL 或任何其他存储方式执行相同操作。存储的数据可以用作其相关机器学习模型的训练数据。