Использование функции Google Cloud для создания данных для модели машинного обучения

Опубликовано: 23 Июля, 2021

Предварительное условие: развертывание облачной функции на Google Cloud Platform

Вы ищете данные для обучения своей модели в Интернете? Что, если мы скажем, что вы можете сгенерировать свои собственные данные всего в нескольких строках кода?

Все, что вам нужно, - это учетная запись Google Cloud Platform и знать, как развернуть простой код в Cloud Function. Мы будем использовать Google Таблицы для хранения данных. Вы можете использовать Cloud SQL, Google Cloud Storage Bucket или Firebase для хранения данных. Все, что вам нужно сделать, это включить необходимые API.

Включение API и создание учетных данных:

  1. Перейдите в Marketplace в Cloud Console.
  2. Нажмите ВКЛЮЧИТЬ APIS И УСЛУГИ.
  3. Затем найдите API Google Диска и включите его.
  4. Затем перейдите на вкладку «Учетные данные» на левой панели навигации на экране.
  5. Затем нажмите Create Credentials, затем выберите Service Account Key.
  6. Затем создайте новую учетную запись службы, присвоив ей имя и установите роль «Редактор» в подполе «Проекты», сохраните тип ключа JSON и нажмите кнопку «Создать». Храните загруженный JSON в надежном месте.

    После выполнения всех этих действий ваша страница должна выглядеть примерно так



  7. Снова перейдите в Личный кабинет и выполните те же действия. На этот раз найдите Google Таблицы и включите API.

Создание электронной таблицы

  1. Создать электронную таблицу в Google Таблицах
  2. Найдите загруженный файл JSON для поля client_email и скопируйте это электронное письмо.
  3. Откройте только что созданную электронную таблицу, нажмите на опцию совместного использования и введите туда client_email.

Итак, скучная часть сделана. Теперь перейдем к коду.

Настройка облачных функций

  1. Создайте новую облачную функцию и измените среду выполнения на Python 3.7.
  2. Перейдите в файл requirements.txt, удалите шаблонный текст и добавьте к нему следующие строки.

    g spread> = 3.1.0
    oauth2client> = 4.1.3

  3. Теперь самая важная и лучшая часть - написание кода . Удалите весь шаблонный код и вставьте следующий код




    import gspread
    from oauth2client.service_account import ServiceAccountCredentials
    from datetime import datetime
    def update(request):
    # geting 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)

    Пояснение к коду -

    -> First, we get the necessary imports. gspread is the library for performing handling of Google Sheets. Then, we are importing oauth2client. This will handle our authentication of the generated credentials. Then, we are importing datetime to log the data correctly with the current time and date.

    -> Coming into the upate(request), first we add our credentials in the data dictionary. Then, we store the user request parameters in a variable called request_json and then we are initializing temp and then assigning the ‘temp’ key value into the variable.

    -> We are defining our scope for the authentication. We are using oauth2client to make the necessary authentication with the specified scopes.
    Then, open your Google Spreadsheet by specifying your Sheet name there. Then, we are inserting the date and time of logging and the parameter in the sheet at the specified row in index variable.

  4. Теперь введите upate в функции, которую нужно выполнить, и нажмите ddeploy.

После этого ваша страница облачной функции должна выглядеть так

После этого нужно нажать на название функции, здесь function-1


Затем перейдите на вкладку триггеров


После этого обратите внимание на URL-адрес, который там показан. Это URL-адрес, который вы отправите GET-запрос вместе с параметром данных, чтобы добавить значение параметра в электронную таблицу.

Настройка IoT-устройства
Вы можете использовать Nodemcu или Arduino для отправки данных в Google Таблицы, но вместе с ним вам потребуется модуль Wi-Fi, и, конечно же, можно использовать Raspberry Pi. Теперь все, что вам нужно сделать, это отправить http-запрос на URL-адрес облачной функции вместе с параметрами, здесь temp или temperature. Это приведет к редактированию электронной таблицы и добавлению значений параметров в электронную таблицу.

С учетом сказанного, вот как вы можете использовать облачные функции для записи данных в Google Таблицы. Вы можете сделать то же самое для Cloud SQL или любого другого средства хранения. Сохраненные данные можно использовать в качестве обучающих данных для соответствующей модели машинного обучения.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.