Comments (4)
Hi, thanks for checking out my project!
Good to know that it works on WSL. As long as you can get TensorFlow (preferably with GPU) working it should be able to run anywhere.
As for changing the format of the game used for training the model, much of the code assumes the Gen-4 random battles format from Showdown, but it could be hacked to support a non-random team (outside of Gen-4 requires a lot more work though). Some pointers:
- In the worker script used to manage training battles, remove the
await lookup()
call at the bottom which is used to improve the neural network input during random battles and set the variable to undefined. If you're just pitting the same team against itself, you could instead replace it with an object describing the team to improve learning as it will better specialize to facing just that team (here's the object format). - In
simulateBattle()
which actually calls into Pokemon Showdown's code to run the training battles, change theformatid
field in thestartOptions
object to the Showdown format you're using. You'll also have to add ateam
field to theplayerOptions
objects to specify the team, represented as either a JS object or as a packed-format string (see doc). - In the PsBot runner script used to connect a trained model to a server for manual testing, change the string
"gen4randombattle"
to the format you're using in thebot.acceptChallenges()
call. Also remove theawait lookup()
call or do the same thing as the first point.
Lemme know if anything comes up.
from pokemonshowdown-ai.
I see, interesting.
By the way the code in node_modules/
comes from the project's outside dependencies, the one you modified being from @pkmn/ps/randoms which is used to randomly generate a team of Pokemon while also balancing the levels, movesets, etc. based on the Pokemon's inherent strengths.
I'd also encourage that you take a look at this list of Pokemon AI projects that other people made, mentioned in this issue, which have a lot of other interesting ideas.
I'll also update the READMEs and example configs soon with better numbers/settings and usage guides.
Good luck in your efforts!
from pokemonshowdown-ai.
I wanted to extend my sincere thanks for your detailed guidance!
Following your advice, I have successfully locked 9 strong candidates in Gen 4.
(gengar, zapdos, suicune, tyranitar, salamence, metagross, latios, infernape, garchomp)
I made edits to three key parts of the project:
For pokemon-showdown, I modified the files at:
Gen 4 Random Sets
Limited pokemons to 9 candidates (gengar,zapdos,suicune,tyranitar,salamence,metagross,latios,infernape,garchomp)
Gen 5 Random Teams
Comment out error about number of pokemons.
For pokemonshowdown-ai, changes were made in:
node_modules > @pkmn > randoms > build > index.js
Limited pokemons to 9 candidates (gengar,zapdos,suicune,tyranitar,salamence,metagross,latios,infernape,garchomp)
I am now in the process of training the model. I will continue to study and contribute to this project as much as I can.
I really appreciate your help and am grateful for the opportunity to learn and contribute.
Thank you once again!
from pokemonshowdown-ai.
Thank you for your comment.
I didn't know there were several Pokemon AI projects.
They look very useful, and I try to improve model based on them.
If strong model is created, I will soon share it to you!
I'm very looking forward to progress of your project!
from pokemonshowdown-ai.
Related Issues (20)
- Overlap rollout and update stages in training script
- Reward is always -1
- Reduce game log size
- Rollout model only ever exploring
- Implement TD learning
- Implement multi-step learning
- Use legal actions only when calculating TD target
- Encore not handling Pursuit properly
- Add more model evaluation baselines
- Training memory leak HOT 2
- Use multiple threads for inference during training
- Allow multiple training games per thread
- Partial Python rewrite HOT 2
- Add recurrent DQN option
- Add prioritized replay
- Add noisy networks
- Error when running training HOT 10
- Simplify battle stream interface HOT 1
- Description of approach/results HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pokemonshowdown-ai.