Uso de Google Cloud Function para generar datos para el modelo de Machine Learning

Requisito previo: implementar la función de nube en Google Cloud Platform

¿Buscas datos para entrenar tu modelo en línea? ¿Qué pasa si le decimos que puede generar sus propios datos en solo unas pocas líneas de código?

Todo lo que necesita es una cuenta de Google Cloud Platform y saber cómo implementar un código simple en Cloud Function. Usaremos Hojas de cálculo de Google para almacenar los datos. Puede usar Cloud SQL o Google Cloud Storage Bucket o Firebase para almacenar los datos. Todo lo que necesita hacer es habilitar las API necesarias.

Habilitación de las API y creación de las credenciales:

  1. Vaya a Marketplace en Cloud Console.
  2. Haga clic en HABILITAR APIS Y SERVICIOS
  3. Luego busque la API de Google Drive y habilítela
  4. Luego vaya a la pestaña Credenciales en la barra de navegación izquierda en la pantalla.
  5. Luego haga clic en Crear credenciales y luego seleccione Clave de cuenta de servicio
  6. Luego cree una nueva cuenta de servicio dándole un nombre y establezca el Rol en Editor en el subcampo Proyectos y mantenga el tipo de clave como JSON y haga clic en el botón Crear. Mantenga el JSON descargado de forma segura.
  7. Después de realizar todos estos pasos, su página debería verse así

    Home Screen

  8. Vuelva a ir a Dashboard y siga los mismos pasos. Esta vez busque Hojas de cálculo de Google y habilite la API.

Crear la hoja de cálculo

  1. Crear una hoja de cálculo en Google Sheets
  2. Busque el archivo JSON descargado para el campo client_email y copie ese correo electrónico.
  3. Abra la hoja de cálculo recién creada y haga clic en la opción de compartir y escriba el correo electrónico del cliente allí.

Entonces, la parte aburrida está hecha. Ahora, saltemos al código.

Configuración de funciones en la nube

  1. Cree una nueva función en la nube y cambie el tiempo de ejecución a Python 3.7
  2. Vaya a requirements.txt y elimine el texto repetitivo y agréguele las siguientes líneas.

    gspread>=3.1.0
    oauth2client>=4.1.3

  3. Ahora lo más importante y lo mejor, escribir el código . Elimine todo el código repetitivo y pegue el siguiente código

    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
      
        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)

    Código Explicación –

    -> Primero, obtenemos las importaciones necesarias. gspread es la biblioteca para realizar el manejo de Google Sheets. Luego, estamos importando oauth2client . Esto manejará nuestra autenticación de las credenciales generadas. Luego, estamos importando fecha y hora para registrar los datos correctamente con la hora y fecha actuales.

    -> Entrando en la actualización (solicitud) , primero agregamos nuestras credenciales en el diccionario de datos . Luego, almacenamos los parámetros de solicitud del usuario en una variable llamada request_json y luego inicializamos temp y luego asignamos el valor clave ‘temp’ a la variable.

    -> Estamos definiendo nuestro alcance para la autenticación. Estamos utilizando oauth2client para realizar la autenticación necesaria con los ámbitos especificados.
    Luego, abra su hoja de cálculo de Google especificando el nombre de su hoja allí. Luego, estamos insertando la fecha y hora de registro y el parámetro en la hoja en la fila especificada en la variable de índice .

  4. Ahora escriba actualizar en la Función para ejecutar y luego haga clic en ddeploy

Después de eso, su página de Cloud Function debería verse así
Cloud Function
. Después de esto, debe hacer clic en el nombre de la función, aquí function-1
function

. Luego, vaya a la pestaña de activación
url

. Después de eso, observe la URL que se muestra allí. Esta es la URL a la que enviará la solicitud GET junto con el parámetro de datos para agregar el valor del parámetro a la hoja de cálculo.

Configuración del dispositivo IoT
Puede usar Nodemcu o Arduino para enviar los datos a Hojas de cálculo de Google, pero necesitará un módulo WiFi junto con él y, por supuesto, también se puede usar Raspberry Pi. Ahora, todo lo que tiene que hacer es enviar una solicitud http a la URL de la función de nube junto con los parámetros, aquí temp o temperatura. Esto editaría la hoja de cálculo y agregaría los valores de los parámetros a la hoja de cálculo.

Dicho esto, así es como puede usar Cloud Functions para registrar datos en Hojas de cálculo de Google. Puede hacer lo mismo para Cloud SQL o cualquier otro medio de almacenamiento. Los datos almacenados se pueden usar como datos de entrenamiento para su modelo de aprendizaje automático relevante.

Publicación traducida automáticamente

Artículo escrito por debdutgoswami y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *