""" FileName: app.py Author: Benhao Huang Create Date: 2023/11/19 Description: Main Page of our Demo """ import base64 import streamlit as st import base64 from pathlib import Path import tempfile def st_display_pdf(pdf_file): with open(pdf_file, "rb") as f: base64_pdf = base64.b64encode(f.read()).decode('utf-8') pdf_display = f'' st.markdown(pdf_display, unsafe_allow_html=True) # 设置页面配置 st.set_page_config( page_title="AI 3603 Gomoku Project", page_icon="👋", layout="wide", initial_sidebar_state="collapsed" ) # 大标题 st.write('

AI 3603 Gomoku Project 👋

', unsafe_allow_html=True) # 项目参与者 st.write('

Jiaxin Li \ Junzhe Shen \ Benhao Huang

', unsafe_allow_html=True) # 标签 st.markdown("""
📄 Report 💻 Code 🌐 Space 📊 PPT


""", unsafe_allow_html=True) # 项目介绍 st.markdown("""
(Better to clone this space locally to run games, the reaction time of the bot is much longer in huggingface's space)
Gomoku is an abstract strategy board game. Also called Gobang or Five in a Row, it is traditionally played with Go pieces (black and white stones) on a Go board. It is straightforward and fun, but also full of strategy and challenge. Our project is aiming to apply Machine Learning techniques to build a powerful Gomoku AI.
""", unsafe_allow_html=True) # 创新点和图片展示 st.write("

Main Works 👍

", unsafe_allow_html=True) col1, col2, col3 = st.columns(3) with col1: st.image("assets/model.png", width=800) # 替换为你的图片 URL st.caption("Gomoku Agent Based on Duel DQN") with col2: st.image("assets/data-collect.png", width=700) # 替换为你的图片 URL st.caption("Our Pipeline to Collect Training Data") with col3: st.image("assets/gomokubot.png", width=600) # 替换为你的图片 URL st.caption("Rule-Based GomokuBot") st.write("

Some Demos

", unsafe_allow_html=True) file1 = open("assets/multi-model.gif", "rb") contents = file1.read() data_url1 = base64.b64encode(contents).decode("utf-8") file1.close() file2 = open("assets/mercy.gif", "rb") contents = file2.read() data_url2 = base64.b64encode(contents).decode("utf-8") file2.close() file3 = open("assets/edge_blindness.gif", "rb") contents = file3.read() data_url3 = base64.b64encode(contents).decode("utf-8") file3.close() st.markdown( f"""
cat gif cat gif cat gif
""", unsafe_allow_html=True, )