Spaces:
Sleeping
Sleeping
File size: 1,263 Bytes
d288960 770f950 0154f58 e7988f7 b3c5de3 770f950 e7988f7 b3c5de3 770f950 b3c5de3 770f950 e7988f7 3c554b8 e7988f7 39de071 e7988f7 770f950 39de071 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
from my_chess.scripts.scripts import HumanVsBot
from my_chess.learner.environments import Chess
from chessmodels import DCMinMax
import streamlit as st
from streamlit_image_coordinates import streamlit_image_coordinates
class HvB(HumanVsBot):
@staticmethod
@st.cache_resource()
def get_hvb_manager(
_model,
_environment,
_extra_model_environment_context,
**kwargs):
return HvB(
model = _model,
environment = _environment,
extra_model_environment_context = _extra_model_environment_context,
**kwargs)
def play(bot_select):
play = HvB.get_hvb_manager(
_model=DCMinMax.from_pretrained("mzimm003/{}".format(bot_select)),
_environment=Chess(render_mode="rgb_array"),
_extra_model_environment_context=lambda env: {"board":env.board}
)
st.session_state["board"] = streamlit_image_coordinates(play.render_board(), key="brd", click_and_drag=True)
play.run()
def main(kwargs=None):
bot_select = st.selectbox(
label="bot",
options=["DeepChessReplicationMinMax"],
)
st.button("Play bot!", on_click=play, args=[bot_select])
if __name__ == "__main__":
# main()
play("DeepChessReplicationMinMax")
|