Zagraj w grę planszową przeciwko agentowi, który jest przeszkolony za pomocą uczenia się przez wzmacnianie i wdrożony za pomocą TensorFlow Lite.
Zaczynaj
Jeśli jesteś nowy w TensorFlow Lite i pracujesz z systemem Android, zalecamy zapoznanie się z poniższą przykładową aplikacją, która może pomóc w rozpoczęciu pracy.
Jeśli korzystasz z platformy innej niż Android lub znasz już interfejsy API TensorFlow Lite , możesz pobrać nasz wyszkolony model.
Jak to działa
Model został stworzony dla agenta gry, który może grać w małą grę planszową o nazwie „Plane Strike”. Krótkie wprowadzenie do tej gry i jej zasad znajduje się w tym README .
Pod interfejsem aplikacji zbudowaliśmy agenta, który gra przeciwko człowiekowi. Agent jest trójwarstwowym MLP, który przyjmuje stan tablicy jako dane wejściowe i wyprowadza przewidywany wynik dla każdej z 64 możliwych komórek tablicy. Model jest szkolony przy użyciu gradientu zasad (REINFORCE), a kod szkoleniowy można znaleźć tutaj . Po przeszkoleniu agenta konwertujemy model do TFLite i wdrażamy go w aplikacji na Androida.
Podczas rzeczywistej rozgrywki w aplikacji na Androida, gdy przychodzi kolej agenta na podjęcie działań, agent patrzy na stan planszy gracza (tablicy na dole), która zawiera informacje o poprzednich udanych i nieudanych uderzeniach (trafienia i chybienia). i używa wytrenowanego modelu, aby przewidzieć, gdzie należy uderzyć w następnej kolejności, aby mógł zakończyć grę, zanim zrobi to człowiek.
Testy wydajności
Liczby testów wydajności są generowane za pomocą narzędzia opisanego tutaj .
Nazwa modelu | Rozmiar modelu | Urządzenie | procesor |
---|---|---|---|
Gradient zasad | 84 KB | Piksel 3 (Android 10) | 0,01ms* |
Piksel 4 (Android 10) | 0,01ms* |
* 1 wątki użyte.
Wejścia
Model akceptuje tensor 3-D float32
(1, 8, 8) jako stan deski.
Wyjścia
Model zwraca tensor kształtu 2-D float32
(1,64) jako przewidywane wyniki dla każdej z 64 możliwych pozycji uderzenia.
Trenuj swój własny model
Możesz wytrenować własny model dla większej/mniejszej tablicy, zmieniając parametr BOARD_SIZE
w kodzie uczącym.