PufferLib
PufferLib copied to clipboard
Rubiks
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!
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))
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