PlayChessVsAI / app.py
mzimm003
Acheived MVP
b3c5de3
raw
history blame
1.26 kB
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")