Лямбда внутри лямбды. Страшный костыль, потому что иначе все созданные функции будут выводить число 9. Чтобы такого не происходило, надо писать одну лямбду с дефолтным аргументом lambda i=i: .... Это работает, так как дефолтные аргументы функции создаются в момент определения функции. Без этого пайтон будет искать, что подставить на место i во время вызова функции. Сначала будет смотреть в локальном пространстве имен. А там есть такая переменная со значением 9.
Doom Eternal из не самых требовательных к железу. С сегодняшними ценами на видеокарты одним из самых оптимальных вариантов будет ryzen 7 5700g со встроенной графикой. ФуллХД + средне-максимальные настройки потянет без проблем, обзоров конкретных игр куча на ютубе. Весь пека выйдет меньше 100к без дешманских комплектующих.
Так используй изначально подходящую структуру данных - словарь вместо списка, в котором ключами будут айдишники. Т.е. чтобы все данные представляли собой вложенные друг в друга словари и только словари. Без списков вообще. И не придется искать никакие индексы. А просто брать значения из словарей.
Бюджет 50к - это на все и проц 10700К в том числе? Маловато будет. И старое железо слишком уж старое и несовместимое с указанным процом, половину менять. Так что лучше всего определиться с целью для нового пк (игры в 1080р?) и подобрать подходящее железо с оглядкой на бюджет.
Зачем вообще такой метод нужен? Это ж создание простого объекта и ничего больше. А фабрики - про создание сложных объектов/структур. Вот если бы эти два вида форм были большими и страшными, имели много похожих и много различных частей, набор альтернативных вариантов своих частей, то можно было бы запилить фабрику, которая их строит по заданным конфигам/параметрам/ключам. А сейчас название класса однозначно определяет результат и способ его достижения - к названию класса дописываем две круглые скобки и все готово.
У меня один раз такое было. Флэшки плохо подключались и один раз вырубился комп. Я сразу стал проверять. Причина - USB-порт забился пылью. Почистил его - вытащил комок пыли иголкой, все пришло в норму.
Распараллеливание работает легко и просто, когда большую задачу можно порезать на много независимых кусков. Здесь же разные процессы должны ворочать одной сущностью, что сильно усложняет задачу вплоть до невозможной для чистого питона. Может, стоит изменить подход? Использовать словари, содержащие множества, а внутри целые числа - идентификаторы и сами данные в чистом виде или упакованные. Передавать их - проще и быстрее, чем любые свои классы (тем более классы без __slots__). А уж объединить словари - задача тривиальная. А, может, проще разогнать главный процесс вместо увеличения числа низкоэффективных процессов?
А в терминале и не должно быть инфы о питоне. Это ж терминал операционной системы. В случае винды там отображается инфа о системе и путь, в котором запущена командная строка или пауэршелл. Так что это очень похоже на проблему с правами доступа к папкам/файлам или антивирус какой. При этом сообщение об ошибке должно бы писаться в лог-файл, там могут быть подробности.
20 миллионов строк - это не большие данные, а вполне себе крохотные. В случае реально больших данных первостепенное значение будет иметь скорость и стабильность соединения до сервера с базой данных. Я сейчас данные в оракле готовлю и скачиваю в течение нескольких часов, чтобы потом за два часа обучить нейросеть на локальной офисной печатной машинке i3-8100 / 16GB RAM.
Может, это bom какой-то, может, файл из экселя сохранен и там осталась метка в начале. В таком случае можно при чтении игнорировать либо заполнять возникающие ошибки (errors='ignore', errors='replace'). Но при этом нет гарантии, что проблемы только в начале.
Там файл размером 2 гигабайта. Ты такие ссылки и не вставляй никогда и никуда. Это ж на русском языке сайт. Значит, пробовать надо кодировку windows-1251 или отрезать от файла небольшой кусок, открыв его как бинарный (mode='rb').
Очень может быть, что проблема в битности системы/пайтона. В вопросе про это ровно ноль данных. В идеале для старых систем надо билдить х86 приложение на х86 системе. Может помочь флаг --noupx при билде х86 приложений на х64 системе. Можно руками проверить/накидать нужные файлы (vcruntime всякие), если билдить без флага --onefile.
Так а зачем тут reshape в одномерный массив? Ошибка говорит о том, что нужен массив трехмерный. Если используешь уже готовую модель, так подготовь данные в том виде, в каком они ей нужны.
Если с пипом тяжело, то можно использовать анаконду (миниконду) - альтернативный пакетный менеджер. Проще, удобнее, дружелюбнее что ли. Отлично работает со всеми широко распространенными библиотеками. Если какой-то библиотеки в репозиториях анаконды нет, то использовать пип в этом случае, но не злоупотреблять смешиванием.
Redrik05, откуда этот размер? Это свойства img или данные из операционной системы/проводника? Очень похоже, что изображение все-таки не загрузилось в питон.
В гугле набираешь "онлайн конвертер крокозябр" и через 1 минуту получаешь, что первая строка - это "Контроль успеваемости учащихся СШ№ 3". Чуть приложить голову и руки - уже бы все было готово.
lambda i=i: ...
. Это работает, так как дефолтные аргументы функции создаются в момент определения функции. Без этого пайтон будет искать, что подставить на местоi
во время вызова функции. Сначала будет смотреть в локальном пространстве имен. А там есть такая переменная со значением 9.