Skip to content

Conversation

@TBBristol
Copy link
Contributor

Working Rubiks cube env with user mode.

Will do NxN cubes. Has user playable mode

Does not currently have a trained model but will train if shuffle moves set to 1 so the env does work and train but very challenging to actually train this with RL!

@elevatorguy
Copy link

elevatorguy commented Oct 20, 2025

As of commit:

running build_c
building 'pufferlib.ocean.rubiks.binding' extension
creating build\temp.win-amd64-cpython-313\Release\pufferlib\ocean\rubiks
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Ibox2d-linux-amd64/include -Ibox2d-linux-amd64/src -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Lib\site-packages\numpy\core\include -Iraylib-5.5_win64_msvc16/include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" /Tcpufferlib/ocean\rubiks\binding.c /Fobuild\temp.win-amd64-cpython-313\Release\pufferlib\ocean\rubiks\binding.obj -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -DPLATFORM_DESKTOP -O2 -flto
cl : Command line warning D9002 : ignoring unknown option '-flto'
binding.c
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(69): error C2099: initializer is not a constant
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(188): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(188): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(188): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(207): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(207): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(207): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2087: 'tmp': missing subscript
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2087: 'tmp': missing subscript
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(286): warning C4244: '+=': conversion from 'double' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(193): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(242): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(451): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(509): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(527): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(7): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(8): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(9): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(10): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(11): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\cl.exe' failed with exit code 2

Merge commit results in build_c success, so next there is puffer train puffer_rubiks --train.device=cpu giving TypeError: ForeachMuon.__init__() got an unexpected keyword argument 'heavyball_momentum' to the user.

C:\>pip show heavyball
Name: heavyball
Version: 1.7.2
Summary: Efficient Optimizers
Home-page:
Author:
Author-email: HeavyBall Authors <[email protected]>
License:
Location: C:\Users\jayg8\AppData\Local\Programs\Python\Python313\Lib\site-packages
Requires: numpy, opt-einsum, torch
Required-by: pufferlib

Swapping 1.7.2 with 2.1.1 seems to be the fix for the above error. (video - of sticker(s))

@TBBristol
Copy link
Contributor Author

As of commit:

running build_c
building 'pufferlib.ocean.rubiks.binding' extension
creating build\temp.win-amd64-cpython-313\Release\pufferlib\ocean\rubiks
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Ibox2d-linux-amd64/include -Ibox2d-linux-amd64/src -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Lib\site-packages\numpy\core\include -Iraylib-5.5_win64_msvc16/include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\include -IC:\Users\jayg8\AppData\Local\Programs\Python\Python313\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" /Tcpufferlib/ocean\rubiks\binding.c /Fobuild\temp.win-amd64-cpython-313\Release\pufferlib\ocean\rubiks\binding.obj -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -DPLATFORM_DESKTOP -O2 -flto
cl : Command line warning D9002 : ignoring unknown option '-flto'
binding.c
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(69): error C2099: initializer is not a constant
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(188): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(188): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(188): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(207): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(207): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(207): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2087: 'tmp': missing subscript
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(226): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2057: expected constant expression
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2466: cannot allocate an array of constant size 0
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2087: 'tmp': missing subscript
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(238): error C2133: 'tmp': unknown size
D:\puffer\pufferlib\ocean\rubiks\rubiks.h(286): warning C4244: '+=': conversion from 'double' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(193): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(242): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(451): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(509): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
D:\puffer\pufferlib\ocean\rubiks\../env_binding.h(527): warning C4244: 'initializing': conversion from 'Py_ssize_t' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(7): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(8): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(9): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(10): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
pufferlib/ocean\rubiks\binding.c(11): warning C4244: '=': conversion from 'double' to 'float', possible loss of data
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\cl.exe' failed with exit code 2

This should now be solved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants