Title: Stable Audio 3 fails after latest update: TypeError in mmgp offload.py _mapped_pages (NoneType + int)
Environment: Windows, Pinokio install (C:\pinokio\api\wan.git\app), RTX 5060 Ti 16 GB, mmgp 4.4.1, git pull says "Already up to date".
Description: Since the last update, generating music with Stable Audio 3 fails at the audio decode step (pretransform.decode -> autoencoder decode -> mmgp gpu_load -> _mapped_bytes -> _mapped_pages).
Error: offload.py line 1335, in _mapped_pages:
region = (info.BaseAddress, info.BaseAddress + info.RegionSize, ...)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
It looks like info.BaseAddress is None (address 0) for some tensor of the decoder. Full traceback attached.
Traceback (most recent call last):
File "C:\pinokio\api\wan.git\app\wgp.py", line 8654, in generate_media
samples = call_with_default_device(model_def, model_type, wan_model.generate,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\shared\utils\default_device.py", line 85, in call_with_default_device
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\pipeline.py", line 231, in generate
audio = self.core.generate(
^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\utils_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\model.py", line 317, in generate
result = sample_diffusion(
^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\utils_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\inference\sampling.py", line 528, in sample_diffusion
sampled = pretransform.decode(sampled, chunked=chunked_decode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\pretransforms.py", line 25, in decode
return self.model.decode_audio(z * self.scale, chunked=chunked, iterate_batch=self.iterate_batch, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\autoencoders.py", line 620, in decode_audio
decoded_chunks = [self.decode(latents[..., s:s + chunk_size]) for s in chunk_starts]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\autoencoders.py", line 620, in
decoded_chunks = [self.decode(latents[..., s:s + chunk_size]) for s in chunk_starts]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\autoencoders.py", line 468, in decode
decoded = self.decoder(latents, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\nn\modules\module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\nn\modules\module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5918, in check_load_into_GPU_needed_other
check_load_into_GPU_needed()
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5902, in check_load_into_GPU_needed
self.ensure_model_loaded(model_id)
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5577, in ensure_model_loaded
self.gpu_load(model_id)
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5032, in gpu_load
ram = 0 if model_id in self.pool_models else self._mapped_bytes(model_id) # the checkpoint pages its transfers read (a pool model's: in need)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 4582, in _mapped_bytes
mapped = self.mapped_bytes[model_id] = builtins.sum(end - start for entry in self.blocks_of_modules if entry.split("/", 1)[0] == model_id for start, end in self._mapped_pages(entry))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 4582, in
mapped = self.mapped_bytes[model_id] = builtins.sum(end - start for entry in self.blocks_of_modules if entry.split("/", 1)[0] == model_id for start, end in self._mapped_pages(entry))
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 4590, in _mapped_pages
found = self.mapped_pages[entry_name] = (layout, _mapped_pages([(leaf.data_ptr(), leaf.numel() * leaf.element_size()) for _, t in items for leaf in _staging_leaves(t)]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 1335, in _mapped_pages
region = (info.BaseAddress, info.BaseAddress + info.RegionSize, info.AllocationBase if info.Type != 0x20000 else None) if found else (0, 0, None) # not MEM_PRIVATE: its view
~^
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Error Queue autosaved successfully to error_queue.zip
Title: Stable Audio 3 fails after latest update: TypeError in mmgp offload.py _mapped_pages (NoneType + int)
Environment: Windows, Pinokio install (C:\pinokio\api\wan.git\app), RTX 5060 Ti 16 GB, mmgp 4.4.1, git pull says "Already up to date".
Description: Since the last update, generating music with Stable Audio 3 fails at the audio decode step (pretransform.decode -> autoencoder decode -> mmgp gpu_load -> _mapped_bytes -> _mapped_pages).
Error: offload.py line 1335, in _mapped_pages:
region = (info.BaseAddress, info.BaseAddress + info.RegionSize, ...)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
It looks like info.BaseAddress is None (address 0) for some tensor of the decoder. Full traceback attached.
Traceback (most recent call last):
File "C:\pinokio\api\wan.git\app\wgp.py", line 8654, in generate_media
samples = call_with_default_device(model_def, model_type, wan_model.generate,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\shared\utils\default_device.py", line 85, in call_with_default_device
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\pipeline.py", line 231, in generate
audio = self.core.generate(
^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\utils_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\model.py", line 317, in generate
result = sample_diffusion(
^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\utils_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\inference\sampling.py", line 528, in sample_diffusion
sampled = pretransform.decode(sampled, chunked=chunked_decode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\pretransforms.py", line 25, in decode
return self.model.decode_audio(z * self.scale, chunked=chunked, iterate_batch=self.iterate_batch, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\autoencoders.py", line 620, in decode_audio
decoded_chunks = [self.decode(latents[..., s:s + chunk_size]) for s in chunk_starts]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\autoencoders.py", line 620, in
decoded_chunks = [self.decode(latents[..., s:s + chunk_size]) for s in chunk_starts]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\models\TTS\stable_audio3\models\autoencoders.py", line 468, in decode
decoded = self.decoder(latents, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\nn\modules\module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\venv\Lib\site-packages\torch\nn\modules\module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5918, in check_load_into_GPU_needed_other
check_load_into_GPU_needed()
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5902, in check_load_into_GPU_needed
self.ensure_model_loaded(model_id)
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5577, in ensure_model_loaded
self.gpu_load(model_id)
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 5032, in gpu_load
ram = 0 if model_id in self.pool_models else self._mapped_bytes(model_id) # the checkpoint pages its transfers read (a pool model's: in need)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 4582, in _mapped_bytes
mapped = self.mapped_bytes[model_id] = builtins.sum(end - start for entry in self.blocks_of_modules if entry.split("/", 1)[0] == model_id for start, end in self._mapped_pages(entry))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 4582, in
mapped = self.mapped_bytes[model_id] = builtins.sum(end - start for entry in self.blocks_of_modules if entry.split("/", 1)[0] == model_id for start, end in self._mapped_pages(entry))
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 4590, in _mapped_pages
found = self.mapped_pages[entry_name] = (layout, _mapped_pages([(leaf.data_ptr(), leaf.numel() * leaf.element_size()) for _, t in items for leaf in _staging_leaves(t)]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\pinokio\api\wan.git\app\mmgp\offload.py", line 1335, in _mapped_pages
region = (info.BaseAddress, info.BaseAddress + info.RegionSize, info.AllocationBase if info.Type != 0x20000 else None) if found else (0, 0, None) # not MEM_PRIVATE: its view
~
^TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Error Queue autosaved successfully to error_queue.zip