0

Failed from Install

@solonecptposted 7/5/2026, 7:12:50 PM·0 replies

What happened?
After install it didn't work

Steps to reproduce

1.Running on Pop!OS

Your system (OS / GPU / RAM / VRAM / etc.)
Intel i7 26gb RAM zotac 16gb 5060ti

Logs / full error output
<>eval "$(conda shell.bash hook)" ; conda deactivate ; conda deactivate ; conda deactivate ; conda activate base ; source /home/campbell/pinokio/api/ai4animationpy.pinokio.git/app/env/bin/activate /home/campbell/pinokio/api/ai4animationpy.pinokio.git/app/env && python webdemo/run.py
http://x86_64-conda-linux-gnu:42003
ERROR: [Errno -3] Temporary failure in name resolution
(env) (base) <>

Paste the full log output here

Digging around and Claude.ai feeding me bash questions yielded this:

**Title: Biped/Quadruped demos crash with `AttributeError: 'MotionModel' object has no attribute 'LatentDim'`**

Both the Biped and Quadruped locomotion demos fail every time a session starts. The server stays up and a character window renders, but the animation never initializes — the same traceback repeats on every WebSocket connection attempt.

**Traceback:**

Traceback (most recent call last):
File ".../webdemo/interactive_server.py", line 327, in interactive_socket
await _run_active_session(websocket, demo_name)
File ".../webdemo/interactive_server.py", line 203, in _run_active_session
program, AI4Animation = await asyncio.to_thread(_create_program, demo_name)
File ".../webdemo/interactive_server.py", line 125, in _create_program
AI4Animation(program, mode=AI4Animation.Mode.MANUAL)
File ".../app/ai4animation/AI4Animation.py", line 69, in init
AI4Animation.Program.Start()
File ".../webdemo/locomotion/Biped/WebProgram.py", line 158, in Start
self._noise_buf = Tensor.ToDevice(torch.empty(1, self.Model.LatentDim))
File ".../app/env/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1967, in getattr
raise AttributeError(
AttributeError: 'MotionModel' object has no attribute 'LatentDim'


Same error at `webdemo/locomotion/Quadruped/WebProgram.py` line 173, and it also references `self.Model.InputDim` at line 240 which will hit the same problem.

**Root cause:**

`WebProgram.py` (both Biped and Quadruped) expects `self.Model` — loaded via `torch.load(local_path, weights_only=False, ...)` from the bundled `Network.pt` checkpoint — to expose flat attributes `.LatentDim` and `.InputDim`.

But looking at the actual `MotionModel` class in `app/ai4animation/AI/Models/CxM.py`:

```python
class MotionModel(Model):
    def __init__(
        self,
        sequence_length,
        input_dim,
        output_dim,
        encoder_dim,
        decoder_dim,
        estimator_dim,
        denoiser_dim,
        codebook_channels,
        codebook_classes,
        dropout,
    ):
        super(MotionModel, self).__init__(
            prior=MotionPrior(...),
            sampler=MotionSampler(...),
        )

None of the constructor args (input_dim, encoder_dim, etc.) are ever stored as self attributes — they're just forwarded into building self.prior and self.sampler, then discarded. I confirmed this by loading the actual checkpoint directly:

model = torch.load("Network.pt", weights_only=False, map_location="cpu")
print(sorted(vars(model).keys()))
# -> only nn.Module internals: _buffers, _modules, _parameters, training, etc.
# no LatentDim, InputDim, or anything dimension-related

So WebProgram.py appears to have been written against an older version of MotionModel that used to expose these as instance attributes, and it wasn't updated when the class was refactored to its current form (dimensions folded into submodule construction instead).

Confirmed not the cause:

  • Not a corrupted/partial download — Network.pt is 60,668,052 bytes and loads fine via torch.load.
  • Not a pip package version mismatch — ai4animation isn't pip-installed at all; it's imported directly from app/ai4animation/__init__.py, so there's only one version of the code in play.
  • Not a missing file — confirmed Network.pt, PostProcessor.pt, and all Guidances/*.npz are present for both demos.

Suggested fix:

Since input_dim/encoder_dim etc. aren't retrievable from the model instance as currently structured, WebProgram.py needs to either:

  1. Pull these dimensions from wherever the demo already knows them (e.g. hardcode based on the known checkpoint config, since they're fixed per-demo), or
  2. Have MotionModel.__init__ store them as self attributes upstream (e.g. self.LatentDim = encoder_dim, self.InputDim = input_dim) if that's an acceptable change to make in ai4animation/AI/Models/CxM.py, or
  3. Infer them from an existing submodule shape at runtime (e.g. self.Model.sampler's first layer) if that's more robust to future refactors.

Happy to test a patch if you push one. Let me know if you need anything else from my setup (Pop!_OS, RTX 5060 Ti, Python 3.12 venv via uv).

Replies (0)
Up to 10 files, 25MB each. Images are optimized; GIFs -> MP4; videos 720p (max 120s).
Failed from Install · Pinokio