Время загрузки CoLab истекает при загрузке больших CSV-файлов; два возможных (?) исправления - PullRequest
0 голосов
/ 01 апреля 2020

Это действительно два вопроса;

° При записи данных в CSV-массивы numpy обеспечивают увеличение производительности при чтении данных обратно?

° Есть ли способ get.request() ускорить получение этих данных или он все еще зависит от моей собственной скорости rnet?

Допустим, я выполняю следующую ячейку в CoLab:

from google.colab import files

files.upload()

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

Но файлы найдены в http://insideairbnb.com/get-the-data.html такие большие и громоздкие - в сочетании с моей смехотворно низкой скоростью загрузки - моя среда выполнения отключится до того, как данные будут загружены без сбоев.

Поэтому вместо этого в локальной среде ноутбука я пытался загрузить только некоторые из данных мне нужно вот так:

# Reads data from <filename>
def get_data(filename):
    results = []
    with open(filename, 'r') as f:
        reader = csv.reader(f)    
        for row in reader:
            results.append(row)
    return results


# Extracts specific columns from series
def get_cols(series, *cols):
    results = []
    for row in series:
        results.append([row[col] for col in cols])
    return results

Затем запишите данные в новые CSV-файлы:

# This function writes data to a chosen file
def write_data(filename, data):
    with open(filename, 'wt') as f:
        writer = csv.writer(f)
        for row in data:
            writer.writerow(row)
    return "success"

# Write new data to csv
write_data('listings-shortened.csv', listings)
write_data('reviews-shortened.csv', reviews)

Будет ли Numpy массивы увеличить производительность в этом отношении ? Я слышал, что добавление np-массивов - это s ниже, чем при использовании списков, но, может быть, C -уровень numpy волхвов c может помочь в этом отношении?

В качестве альтернативы , я наивно пробовал следующий код:

data = requests.get('http://insideairbnb.com/get-the-data/<specific-dataset>.html')

И CoLab дал мне это:

ОШИБКА! Номер сеанса / строки не был уникальным в базе данных. Ведение журнала истории перенесено в новый сеанс 14 <</p>

Кроме того, если есть способы повысить производительность вне этих двух ситуаций, я с удовольствием это услышу!

...