Este projeto tem como fonte principal os códigos dos link abaixo.
https://github.com/ivanseidel/IAMDinosaur https://github.com/ajaiswal-ht/imdino
Usando Python v2.7 e Tensoflow, utiliza algoritmos genéticos com uma evolução constante com o passar das gerações. Consiste em um mecanismo de busca direcionada baseado na evolução dos seres biológicos. Provêem técnicas eficazes (mas não tão eficientes) de otimização e de aprendizado de máquina. Para saber mais recomendo a leitura abaixo.
http://edirlei.3dgb.com.br/aulas/ia_2012_1/IA_Aula_04_Algoritmos_Geneticos.pdf
- redis
- flask
- tensorflow, numpy
- pyautogui for key presses
- npyscreen for displaying stats
- virtual environment
clone o código
git clone https://github.com/JeqTech/AgDinoGoogle.git
O sistema utilizado para realizar o procedimento foi o MacOS, portanto, foi ajustado as dependências de acordo com o sistema operacional.
Instale redis Redis é um open source (licenciado pelo BSD), armazenamento de estrutura de dados na memória, usado como banco de dados, cache e message broker. https://redis.io/
brew install redis
Crie um virtualenv com o nome do projeto que deseja:
virtualenv dino
source dino/bin/activate
Instale as dependências
pip install -r requirements.txt
##For capturing data :
Inicie o Redis Server
redis-server
Execute:
python fl.py
Copie o código abaixo:
var http = new XMLHttpRequest();setInterval(function(){
var obs = Runner.instance_.horizon.obstacles.length;
if(obs==0){
var fs = null;
var fd = null;
}
else{
var fs=Runner.instance_.horizon.obstacles[0].width;
var fd=Runner.instance_.horizon.obstacles[0].xPos;}
var d = { "s": Runner.instance_.currentSpeed/13, "fs":fs/60.0 , "fd": fd/50.0, "sc": Runner.instance_.distanceRan*.025, "o":Runner.instance_.crashed , "n": obs}
var url='http://127.0.1:5000/?r='+JSON.stringify(d);http.open("GET", url);
http.send(null);console.log('yes');}, 90)
Agora abra o chrome e digite no navegador "chrome://dino/", clique com o botão na pagina e vá em "Inspencionar", na aba console cole o códico copiado acima e de um enter. Retorne para a pagina do jogo. Mova o navegador até a parte mais baixa possivel.
Encurtar a largura da janela do navegador em 2/3 do tamanho da tela. Abra o terminal e ajuste o tamanho do ecrã para 1/3 do espaço restante. Ative o virtualenv e execute na pasta src:
python main.py
- Atualizar o código e as bibliotecas para mais rescentes .
- Atualizar o código e as bibliotecas para versões mais recentes .
- Realizar hum Processo de Simulação fazer Aprendizado fazer algortimo genético, AO inves de executar em Tempo Real, podera acelerar o Processo de Aprendizado.
- Utilizando um algoritmo de aprendizado por reforço (Reforcement Learning e Deep Q-network)
Credits:
Project: https://github.com/aymericdamien/TensorFlow-Examples/