Decompression problem uncompressed block size is too big» - как исправить

Decompression problem uncompressed block size is too big, как исправить

При инсталляции какой-либо программы (обычно игровой) пользователь может столкнуться с ошибкой распаковки, сопровождающейся сообщением «Decompression problem: uncompressed block size is too big». Появление данной дисфункции напрямую связано с памятью ПК, требуя выполнения ряда шагов для решения возникшей проблемы. В данном материале я разберу, что это за ошибка Decompression problem, каковы её причины, и как исправить uncompressed block size is too big на вашем компьютере.

Ошибка «decompression problem» при распаковке диска

  1. Ошибка «uncompressed block size is too big» – суть и причины дисфункции
  2. Как исправить «Decompression problem: uncompressed block size is too big»
  3. Заключение

Ошибка «uncompressed block size is too big» – суть и причины дисфункции

В переводе с английского языка текст ошибки звучит как «Проблема распаковки: размер распакованного блока слишком большой». Проблема обычно возникает в ситуации, когда инсталлятор программы распаковывает архив программы в память ПК, и при этом очередной распакованный блок оказался больше, нежели позволяет отведённый для этого участок системной памяти.

Поскольку в инсталляторе чётко прописано, что и куда распаковывать при существующих стандартах памяти, то возникновение описываемой в статье ошибки может произойти по следующим причинам:

  • Память пользовательского ПК работает некорректно (наиболее распространённая причина ошибки «block size too big»);
  • Инсталлятор программы повреждён по различным причинам (тело программы не полностью скачано с торрентов, при скачивании возникли ошибки и т.д.);
  • Репак (взлом) игры выполнен некорректно;
  • Корректной распаковке помешали вирусные или антивирусные программы;
  • Имеется недостаточное количество свободного места на винчестере ПК.

Изучаем причины проблемы

Такая ошибка может возникнуть практически в любой распаковываемой пользователей игре, скачанной с сети. К примеру, фиксировались ошибки при распаковке игр Syberia 3, Far Cry, Assassins Creed и других современных игровых программах.

Как исправить «Decompression problem: uncompressed block size is too big»

Чтобы решить проблему uncompressed block size is too big рекомендуется выполнить следующее:

  1. Проверьте работоспособность планок памяти вашего ПК. Для этого пригодятся различные программы уровня «MemTest86», которые необходимо скачать на компьютер, и протестировать ими память вашего PC. Если программой будут найдены ошибки, попробуйте аккуратно протереть контакты планки памяти обычной школьной резинкой (ластиком). Если это не поможет, замените проблемную планку на работоспособный аналог;

Если при проверке памяти найдены плохие сектора, то это может служить лакмусом проблемной планки памяти

  • Скачайте репак (взлом) от другого автора. В ряде случаев именно некорректно выполненный репак становится причиной decompression problem на пользовательском ПК. Попробуйте репак от альтернативного автора;
  • Перекачайте проблемный архив (особенно в ситуации, когда вы скачали его с торрентов);
  • При скачивании и инсталляции программы отключите вашу антивирусную программу и файервол. Функционал последней может блокировать корректную установку инсталляционных файлов в системе;
  • Проверьте ваш PC на наличие вирусных программ. Помогут испытанные антивирусные инструменты уровня «AdwCleaner», «ДокторВеб Кюрейт» и других аналогов;

    Воспользуйтесь функционалом «AdwCleaner» для борьбы с вредоносными программами

  • Освободите достаточное количество свободного места на жёстком диске. Обычно в требованиях к игре чётко указан необходимый размер свободного места на винчестере ПК. Обеспечьте достаточное количество свободного места, а затем проведите повторную инсталляцию программы;
  • Проверьте жёсткий диск PC на наличие битых секторов. В довольно редких случаях причиной проблемы становятся битые (bad) сектора на жёстком диске. Рекомендуется воспользоваться утилитой CHKDSK, для чего нажмите Win+R, там введите: CHKDSK /R и нажмите ввод.
  • При необходимости перезагрузите ПК для осуществления процедуры полноценной проверки жёсткого диска.
  • Используйте функционал команды CHKDSK

    Заключение

    В абсолютном большинстве случаев данная проблема вызвана нестабильной работой планок памяти пользовательского ПК. Если у других пользователей не наблюдалось проблемы при распаковке данной программы, рекомендуется проверить вашу память с помощью соответствующих утилит, и при необходимости заменить нестабильно работающую планку на полноценный работоспособный аналог. Выполнение этого и других, перечисленных в статье, советов позволит избавиться от ошибки Decompression problem: uncompressed block size is too big на вашем компьютере.

    Пошаговое руководство по машинному переводу на базе движка OpenNMT

    Проект OpenNMT ( Open Source Neural Machine Translation ) представляет из себя нейросеть, которую, в том числе, можно натренировать переводить тексты с одного человеческого языка на другой, например, с английского на русский или наоборот. Для этого её нужно натренировать на датесэте представляющим из себя параллельный корпус текстов на двух языках. Т.е. нужно 2 файла, в каждом из которых будут находиться одни и те же предложения, но на разных языках. Чем более дословный перевод в исходных данных — тем выше точность перевода нейросети.

    Сразу скажу, что сделать универсальный переводчик текста с языка на язык будет крайне трудно, т.к. это потребует сотен или даже тысяч миллионов пар предложений с высоким качеством перевода и недели времени на тренировку модели. К тому же найти такой датасэт в открытых источниках будет не реально. А создавать его самому — крайне затратно. Однако, для перевода книги или текстов определённой тематики хватит пары десятков тысяч фраз и пары часов на тренировку модели. Помимо текста, данная нейроночка умеет конвертировать в текст изображения, звук, а также изображение и звук одновременно, т.е. видео. На данный момент проект OpenNMT имеет аж 3 реализации:

    • OpenNMT на базе фреймворка Torch — https://github.com/OpenNMT/OpenNMT
    • OpenNMT-tf на базе фреймворка TensorFlow — https://github.com/OpenNMT/OpenNMT-tf
    • OpenNMT-py на базе фреймворка PyTorch — https://github.com/OpenNMT/OpenNMT-py

    Однако, OpenNMT на базе Torch более не поддерживается. А между OpenNMT-tf и OpenNMT-py существуют различия в возможностях. Ознакомиться с полным списком возможностей каждой реализации OpenNMT можно на странице http://opennmt.net/features/.

    Итак, для перевода текста в текст можно воспользоваться OpenNMT-py. Для быстрого старта можно воспользоваться готовым Docker-образом: nmtwizard/opennmt-py. На всякий случай предупрежу, что тренировка нейросети — задача ресурсоёмкая, и производить её на CPU крайне не эффективно. Разница в производительности между процессором i7-9700K и видеокартой RTX 2070 (8 GB GDDR6) около 20 крат в пользу GPU! Проверял без разгона. При этом стоимость процессора и видеокарты примерно одинаковы. Если у вас есть более-менее шустрая видеокарта, стоит её использовать.

    Кстати, эта нейронная сеть по большей части выжирает оперативную память, при потреблении 8 ГБ видеопамяти нагрузка на сам видеочип не более 10-15%. Поэтому если вы хотите покупать видеокарту специально под тренировку данной нейросети — стоит отдать предпочтение модели с большим объёмом ф реймбуфера на борту. Из бюджетных рекомендую присмотреться к моделям на базе чипа GTX 1070 Ti с 8 ГБ видеопамяти типа GDDR5 или GTX 1080 Ti с 11 ГБ GDDR5X, но они уже выходят из продажи, а с рук брать рискованно, либо на базе чипандрия RTX 2080 Ti с 11 ГБ GDDR6.

    Подробнее о выборе видеочипов для тренировки нейросетей можно почитать и посмотреть графики по ссылке https://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/.

    Однако, есть нюанс. В Docker for Windows нет возможности прокинуть GPU в контейнер, поэтому пользователям Windows лучше установить Python и OpenNMT без Docker.

    Вкратце расскажу что делать обладателям мощной видеокарты и отсутствием Linux.

    1. Ставим Python с https://www.python.org/. Версия 3.7 вполне подойдёт.
    2. Затем нужно установить PyTorch, но нельзя просто так взять и установить PyTorch в Windows.
      По крайней мере через pip у меня этого не получилось.
    3. Сначала нужно установить Anaconda. https://docs.anaconda.com/anaconda/install/
    4. Затем заходим на сайт https://pytorch.org/ и видим такую инструкцию:

  • Установка заняла минут 10-15, после чего можно приступать к установке OpenNMT.
  • При PyTorch установке через pip я получил такую ошибку:

    Больше инструкций с подробной установкой PyTorch:

    • https://medium.com/@bryant.kou/how-to-install-pytorch-on-windows-step-by-step-cc4d004adb2a
    • https://www.superdatascience.com/blogs/pytorch-windows-installation-walkthrough
    • https://neurohive.io/ru/tutorial/glubokoe-obuchenie-s-pytorch/
    • https://msdn.microsoft.com/en-us/magazine/mt848704.aspx

    Установка OpenNMT

    Для установки OpenNMT-py нудно склонировать репозиторий https://github.com/OpenNMT/OpenNMT-py. Затем перейти в директорию OpenNMT-py и выполнить:

    Нейросеть готова к тренировке! Из коробки в репозитории присутствует директория data содержащая небольшой датасэт состоящий из англо-немецкого параллельного корпуса из 10 000 предложений для тренировки (src-train.txt и tgt-train.txt), 3 000 предложений для валидации тренировки (src-val.txt и tgt-val.txt) и 2 737 предложений для демонстрации работы перевода (src-test.txt). Пример фраз:

    It is not acceptable that , with the help of the national bureaucracies , Parliament ‘s legislative prerogative should be made null and void by means of implementing provisions whose content , purpose and extent are not laid down in advance .

    Es geht nicht an , dass über Ausführungsbestimmungen , deren Inhalt , Zweck und Ausmaß vorher nicht bestimmt ist , zusammen mit den nationalen Bürokratien das Gesetzgebungsrecht des Europäischen Parlaments ausgehebelt wird .

    Обратите внимание на специфическое форматирование — знаки препинания отделены от слов пробелом с двух сторон! Зачем это нужно — я пока не понял. Но это сильно влияет на результат тренировки модели и результата перевода. Поэтому не стоит этим пренебрегать при подготовке собственного датасэта.

    Также в директории data содержится директория morph с файлами странного содержания. Зачем они нужны я тоже пока не понял.

    Обратите внимание, что этот датасэт говно и ничего хорошего на нём натренировать нельзя.

    Тренировка OpenNMT

    Для начала нужно произвести препроцессинг датасэта:

    По времени это занимает несколько секунд. В результате чего в директории data, указанной через аргумент -save_data появляются три новых файла: demo.train.0.pt, demo.valid.0.pt и demo.vocab.pt.

    Теперь можно тренировать:

    python train.py -data data/demo -save_model demo-model

    Так как авторы этой нейросеточки полные кретины и уебаны, ни в коем случае нельзя запускать тренировку командой из руководства Quickstart на демо-датасэте, т.к. это бесполезная трата времени! Датасэт — говно и ничего хорошего на нём натренировать нельзя. Поэтому нужно немного скорректировать команду. Если вы тренируете на обычном CPU, то нет смысла ставить более 1 000 шагов тренировки, а для обладателей GPU можно немного увеличить до 10 000 — 30 000. Делается это с помощью опции —train_steps.

    Так, подождите! Такими темпами ждать завершения тренировки придётся более 30 минут! И в логах написано: Starting training on CPU, could be very slow. Так дело не пойдёт! Ах да, у меня же есть видеокарта. Но как же заставить нейросеть тренироваться на видеокарте? Таак, смотрим доку http://opennmt.net/OpenNMT-py/options/train.html и перезапускаем тренировку с такими параметрами:

    Такие параметры я ставлю т.к. у меня всего 1 видеокарта и я хочу тренировать на первой из них с индексом 0. Теперь дело пошло быстрее. Пока идёт тренировка, рассмотрим подробнее лог, который выдаётся во время тренировки.

    Важно! В момент тренировки нейросети видеокарта не должна использоваться какими-либо ещё процессами. В противном случае могут возникнуть ошибки запуска тренировки:

    Во-первых, нужно обратить внимание на структуру NMTModel. Она описывает алгоритмы по которым будет тренироваться модель. По-умолчанию энкодер и дэкодер будет простая RNN (рекуррентная нейронная сеть) (LSTM или GRU). Подробнее можно посмотреть по ссылке: http://opennmt.net/OpenNMT/training/models/. Подробнее эту структуру рассматривать пока не будем, т.к. я ещё не успел с ней разобраться.

    Изменить энкодер и дэкодер можно с помощью опций —encoder_type и —decoder_type, которые могут принимать значения rnn, brnn, mean, transformer, cnn и rnn, transformer, cnn соответственно. Также можно изменить тип датасэта для тренировки через опцию —model_type, выбрав один из доступных вариантов: text, img, audio, vec.

    Что означает encoder: 16506500 и decoder: 41613820 мне тоже пока не понятно. Следующая строка * number of parameters: 58120320 — тоже не совсем понял.

    Смотрим дальше: Start training loop and validate every 10000 steps…
    По-умолчанию, валидация хода тренировки будет происходить каждые 10 000 шагов. Что конкретно подразумевается под шагом тренировки — я так и не понял.

    Строка Loading dataset from datademo.train.0.pt — собственно датасэт прошедший препроцессинг и количество предложений в нём — number of examples: 10000.

    Далее идёт лог тренировки модели. По-умолчанию, лог со сводным прогрессом тренировки отображается каждые 50 шагов тренировки. Собственно, выводится количество пройденных и оставшихся шагов — Step 50/100000. Затем идёт значение accuracy (дословно — точность), сокращённо acc. Что конкретно подразумевается под этим — я так и не понял, но чем больше значение ≠ тем лучше.

    Например, acc: 3.89 — говорит о том, что качество перевода будет очень низким. Каким максимально может быть это значение — я также не понял, на собственных датасэтах у меня получалось доводить его до 50-55, что давало точный перевод фраз длиной 5-8 слов и приблизительный перевод с ошибкой не более чем в половину слов для более длинных предложений. В датасэте идущим из коробки это значение легко достигает значения 80+.

    Следующее значение — ppl (perplexity) или дословно растерянность. Также мне не удалось понять что конкретно это значит. На первых шагах тренировки этот параметр имеет пугающий значения вроде 80 108, но по мере тренировки стремительно уменьшается, что свидетельствует об улучшении качества перевода. Мне удавалось тренировать модель на собственных датасэтах до значений в диапазоне 9-14, но какого то значительного вклада этого параметра в качество перевода я не заметил. В датасэте идущим из коробки это значение легко достигает значения 2.

    Следующий параметр — xent. Что это такое я тоже не понял. Даже не смог найти расшифровку этого параметра. Его значения достаточно стабильны. Колеблятся около 1.00 и в редких случаях, при использовании не очень хороших датасэтов превышают 10.00. На что влияет — тоже не понял.

    Далее следует параметр lr. Что это и как расшифровывается — не понял. В моём случае всегда равен 1.00000 и не изменяется во время тренировки.

    Затем следует скорость обработки данных в tok/s. Что это? При тренировки на CPU в среднем значения 635/605, а на GPU — 8004/8043.

    Ну и на конец отображается количество секунд прошедших с начала тренировки. 122 sec — в случае с CPU и 10 sec для GPU.

    Итак, по прошествии 10 000 шагов наступает этап валидации. В логах это будет выглядеть так:

    Здесь выводится имя валидационного препроцессиного файла датасэта и количество строк в нём. После валидации выводится её результат в параметрах perplexity и accuracy.

    Также есть параметр —save_checkpoint_steps, который по-умолчанию равен 5 000. Он устанавливает количество шагов, по прошествии которых будет сохраняться промежуточное состояние модели. С помощью этих промежуточных состояний также можно выполнять переводы текста.

    Собственно, тренировка завершилась. Рассмотрим интересные моменты.

    Во-первых, на шаге 17250 тренировка достигла своего пика качества, а далее начала деградировать. Т.е. 80% времени обучения тренировка шла в холостую и качество нейросети только ухудшались. Пиковые параметры были такие: acc: 84.27; ppl: 1.82; xent: 0.60. И это спустя всего 53 минуты тренировки!

    По-умолчанию OpenNMT делает чекпоинт натренированной модели каждые 5 000 шагов. Т.е. при тренировки в 100 000 шагов будет создано 20 моделей с разным уровнем натренированности. Каждая модель для демо-набора занимает на диске по 230 Мб! Частотой создания чекпоинтов можно управлять с помощью опции —save_checkpoint_steps.

    Также во время тренировки можно побаловаться и другими параметрами, например:

    В моём случае это ускоряет процесс тренировки примерно в 2 раза!

    Параметр — word_vec_size отвечает за переопределение сразу двух параметров: -src_word_vec_size и -tgt_word_vec_size, которые по умолчанию равны значению 500.

    Опция —rnn_size отвечает за размер скрытых состояний, что бы это ни значило. И также переопределяет одновременно сразу два параметра: —enc_rnn_size и —dec_rnn_size, которые по-умолчанию также равны 500.

    Что ж, пора посмотреть нейросеть в деле! Ебашим!

    Процесс перевода достаточно не быстрый, но его результат не может не радовать!

    Читайте также

    Ричард Джаличандра, исполнительный директор компании iSocket, считает, что программный медиабаинг стремительно становится стратегией будущего. Понятно, почему в programmatic, который повышает…

    Яркий тренд IT-индустрии добрался и до социальной сети «ВКонтакте»: ещё в прошлом году многие разработчики стали создавать ботов для различных…

    Алгоритмические закупки превратились в глютен рекламной индустрии. Как и глютен, «программатик» стал новомодным словечком, которое сегодня довольно часто используют специалисты,…

    1 Comment

    Davron · 2020-08-13 at 15:15

    Привет.
    Прочитал ваши статьи на OpenNmt.
    Отличная статья, спасибо.
    Я хочу спросить вас о развертывании.
    Как запустить OpenNmt на сервере? Я хочу попробовать RestApi.

    Decompression problem: uncompressed block size is too big — як виправити

    Процедура установки будь-якої гри або програми далеко не завжди проходить гладко. Незважаючи на використовувані технології, виключити помилки та інші проблеми при завантаженні і встановленні файлів просто неможливо. Одна з них – Decompression problem: uncompressed block size is too big. Ця помилка з’являється при установці таких ігор як Call Of Duty, GTA 5, Skyrim, Assassins Creed, Far Cry, Fallout, Wolfenstein 2. Ми постараємося виправити цю проблему. До речі, дані рішення допомагають і з аналогічним багом — broken compressed data.

    Причина помилки

    Буквальний переклад збою звучить так: «Проблема розпакування незжатий блок занадто великий». Звідси випливає, що основною причиною ситуації, що виникла є надмірно великий обсяг розпакованого елемента (для доступних ресурсів системи). Крім цього, причина може критися в помилку при завантаженні экзешника. Не варто виключати і пошкодження самого інсталятора або ріпаку, адже складання далеко не завжди є якісними.

    Проблема розпакування незжатий блок занадто великий

    Що робити?

    Зрозуміло, варто спробувати вгадати причину проблеми розпакування, адже тоді обсяг дій сильно скоротиться. Давайте подивимося, що можна зробити в кожному з випадків. Окрему увагу потрібно приділити антивірусу та іншого захисного ПЗ. Багато з них не тільки надмірно споживають ресурси, але і перешкоджають встановленню софту. Рекомендуємо попередньо перевірити скачаний файл (архів), а після – деактивувати захист.

    Основні джерела помилки

    При цій помилці найчастіше мається на увазі брак вільного місця на диску або ж брак виділеної ОЗП для коректної обробки операції. Способи вирішення:

  • Звільнити місце на системному диску і диску, на який проводиться установка.
  • Чистка тимчасових файлів будь утилітою. CCleaner, наприклад.

    Виконайте очистку через CCleaner, додатково перевірте реєстру

  • Змініть програму архіватор, використовувану за замовчуванням, або завантажити на ПК таку ж, тільки актуальної версії.
  • Збільшення файлів підкачки. Рекомендується ставити однакову мін і макс значення. У мережі багато інформації з цього приводу.

    Збільшення файлу підкачки
    Не зайвими будуть маніпуляції з відключення непотрібних процесів, що працюють у фоні і треї. Ідеальним рішення може стати розпакування установки в режимі «Чистого запуску Windows».

    Діагностичний запуск Windows 10

  • Можливо справа в самому репаке, тому виберіть інший джерело завантаження. Якщо ви використовували для перенесення экзешника флешку, то перевірте коректність її роботи.
  • У вкрай рідкісних випадках причиною збою є пошкодження самого жорсткого диска, ОПЕРАТИВНОЇ пам’яті або їх погане з’єднання. Для виключення цього фактора потрібно провести перевірку штатними засобами моніторингу та скористатися спеціальними утилітами, типу MemTest.

    Всі ці кроки повинні робитися на тлі стабільної і чистої Windows. Тобто, система перевіряється на віруси сканерами, є всі пакети .NET Framework (3.5, 4.0, 4.5), Visual C++ і DirectX.

    Помилка Decompression problem з-за пошкодження завантаження

    Багато користувачів вважають за краще завантажувати торрент, адже це значно швидше, ніж просте завантаження. До того ж, при скачуванні є можливість зупинити завантаження і продовжити в будь-який зручний час. Іноді це й стає причиною пошкоджень — файли завантажені не повністю, або пошкоджуються. Вирішується ситуація простим перехешированием завдання і повторним скачуванням:

  • Для цього, безпосередньо через саму програму видалити торрент-файл гри.
  • Далі на вашому обміннику знову завантажити торрент-файл
  • При відкритті виберіть папку, куди велася перша завантаження, і зніміть галочку на проти «Створити папку».

    Ручне перехеширование файлів завантаження

  • Після цього програма перевірить всі наявні файли і докачає, при необхідності, нові.
  • Також можна просто натиснути ПКМ на закачування і вибрати «Стоп», потім там же у властивостях виберіть «Перерахувати хеш».

    При прямому скачуванні необхідно буде перезакачать зацікавив файлик. Для цих цілей краще використовувати спеціальний менеджер завантажень, на подобі Download Manager.

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

    Висновок

    Як бачите, немає нічого складного в рішенні помилки «Decompression problem: uncompressed block size is too big» і впоратися з більшістю дій може навіть недосвідчений користувач. Наприкінці хотілося б додати момент з антивірусним захистом — обов’язково відключіть її при установці. Антивірус може вже в процесі установки блокувати деякі файли, що не мають цифрового підпису. До речі, саме захист викликає подібну помилку «Decompression problem: broken compressed data».

    Читайте также:  Как изменить цвет и настроить световой индикатор на Xiaomi
  • Ссылка на основную публикацию
    Adblock detector