MCPcopy Create free account
hub / github.com/OpenNFS/OpenNFS / TrainingGround

Method TrainingGround

src/RaceNet/TrainingGround.cpp:7–27  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5#include "TrainingGround.h"
6
7TrainingGround::TrainingGround(uint16_t populationSize, uint16_t nGenerations, uint32_t nTicks,
8 shared_ptr<ONFSTrack> &training_track, shared_ptr<Car> &training_car,
9 std::shared_ptr<Logger> &logger, GLFWwindow *gl_window) : window(gl_window),
10 raceNetRenderer(gl_window,
11 logger) {
12 LOG(INFO) << "Beginning GA evolution session. Population Size: " << populationSize << " nGenerations: "
13 << nGenerations << " nTicks: " << nTicks << " Track: " << training_track->name << " ("
14 << ToString(training_track->tag) << ")";
15
16 this->training_track = training_track;
17 this->training_car = training_car;
18 physicsEngine.registerTrack(this->training_track);
19
20 InitialiseAgents(populationSize);
21 std::vector<std::vector<int>> trainedAgentFitness = TrainAgents(nGenerations, nTicks);
22
23 LOG(INFO) << "Saving best agent network to " << BEST_NETWORK_PATH;
24 car_agents[trainedAgentFitness[0][0]]->carNet.net.saveNetworkParams(BEST_NETWORK_PATH.c_str());
25
26 LOG(INFO) << "Done";
27}
28
29void TrainingGround::Mutate(RaceNet &toMutate) {
30 for (uint8_t mut_Idx = 0; mut_Idx < 5; ++mut_Idx) {

Callers

nothing calls this directly

Calls 2

registerTrackMethod · 0.80
saveNetworkParamsMethod · 0.80

Tested by

no test coverage detected