Объедините локальные ресурсы и ресурсы Google colab ИЛИ избегайте чрезмерного использования памяти

#python #python-3.x #numpy #jupyter #google-colaboratory

#python #python-3.x #numpy #jupyter #google-colaboratory

Вопрос:

Я видел много сообщений с вопросом, как подключить Collab к вашей локальной машине. Однако мне было неясно, возможно ли объединить ресурсы из документации.

Допустим, моей модели требуется 35 ГБ оперативной памяти, и я могу использовать только до 25 из Collab. Можно ли каким-либо образом использовать оставшиеся 10 ГБ с моего ноутбука?

В случае, если это невозможно, проблема, которую я пытаюсь решить, заключается в преобразовании набора документов в соответствующую числовую форму с использованием вложений word, таких как GloVe, с использованием следующего кода:

 def convert_docs_to_embeddings(corpus, word_dict, dim_size):
  tokenizer = Tokenizer(num_words=40000)
  tokenizer.fit_on_texts(corpus)
  
  max_words_text = max(corpus, key=lambda sentence: len(nltk.word_tokenize(sentence, language='portuguese')))
  max_sentence_len = len(nltk.word_tokenize(max_words_text, language='portuguese'))
  vocab_len = len(tokenizer.word_index)   1

  docs = np.zeros((len(corpus), vocab_len, dim_size))
  
  for index, doc in enumerate(corpus):
    current_doc = np.zeros((vocab_len, dim_size))
    for word in doc.split(' '):
      embedding_vector = word_dict.get(word)
      if word.isalnum() and embedding_vector is not None and embedding_vector.any():
        idx = tokenizer.word_index[word]
        current_doc[idx] = embedding_vector[:dim_size]
    docs[index] = current_doc
  return docs
  

Сам фрагмент кода может быть не по теме, я могу написать новый вопрос, чтобы определить решения на уровне кода, если это необходимо. С меньшими наборами данных код работает нормально, но когда я пытаюсь использовать средний размер (3000 примеров) с большим словарным запасом, это становится проблемой