yakov_a_jerkov: (Default)
yakov_a_jerkov ([personal profile] yakov_a_jerkov) wrote2018-03-24 07:19 pm

Другой технический вопрос

Есть в этом какая-то проблема, если на Windows в одном folder миллион (один миллион, буквально) файлов?

У меня сейчас в одном фолдере триста тысяч -- небольшие jpg-файлы, общий размер всего 4 GB -- вроде, никаких проблем нет. Но я не знаю, какой-то предел должен быть, наверное.

Поясню, зачем мне это нужно. Я с ноября пытаюсь научиться разному в области machine learning, и, в частности, neural networks. Сейчас пытаюсь сделать что-то с этой задачей на Kaggle.com, и там training set как раз имеет 1.1 миллиона картинок.

[identity profile] yakov-a-jerkov.livejournal.com 2018-03-25 03:27 pm (UTC)(link)
А как было бы правильно обходиться с этими файлами?

[identity profile] nefedor.livejournal.com 2018-03-25 03:55 pm (UTC)(link)

Я не думаю, что есть одно «правильное» решение.

Надо прикинуть что Вам нужно. Как Вы хотите организовывать эти файлы и результаты работы с ними. Нужно ли кэширование чего-нибудь. В таком духе.

Файлы перестают хорошо работать когда их становится много и структура данных усложняется. Надо искать лучшую БД которая удовлетворяет вашим нуждам.

[identity profile] yakov-a-jerkov.livejournal.com 2018-03-25 04:21 pm (UTC)(link)
У меня есть csv файл с миллионом urls фотографий (почти все на Гугле). То есть сначала мне нужно загрузить эти файлы, что я и делаю в один фолдер.

Дальше я уже загружаю эти images как arrays и использую их как inputs neural network. Сами файлы после этого больше не трогаю.

Я пока применял neural network (довольно безуспешно) только к подмножеству из десяти тысяч фотографий. Проблем с памятью пока не было. Наверное, проблемы возникнут, когда я увеличу число фотографий в training set.

[identity profile] nefedor.livejournal.com 2018-03-26 04:54 pm (UTC)(link)

Ну я же не знаю вашей специфики. Может быть, кроме массива пикселов, Вам нужно хранить какие-то параметры? А как насчёт хранения результата?

Вообще говоря, правильно - это когда система бесконечно scalable. Скажем, память на компьютере ограничена, но можно иметь сколько угодно компьютеров.