Esempio n. 1
0
    public void SaveConfigForIncrement(RunManager manager)
    {
        var buffer = new StringBuilder();

        buffer.Append("default:\r\n");
        buffer.Append("    " + "trainer: ppo" + "\r\n");
        buffer.Append("    " + "batch_size: 1024" + "\r\n");
        buffer.Append("    " + "beta: 5.0e-3" + "\r\n");
        buffer.Append("    " + "buffer_size: 10240" + "\r\n");
        buffer.Append("    " + "epsilon: 0.2" + "\r\n");
        buffer.Append("    " + "gamma: 0.99" + "\r\n");
        buffer.Append("    " + "hidden_units: 128" + "\r\n");
        buffer.Append("    " + "lambd: 0.95" + "\r\n");
        buffer.Append("    " + "learning_rate: 3.0e-4" + "\r\n");
        buffer.Append("    " + "max_steps: 5.0e4" + "\r\n");
        buffer.Append("    " + "memory_size: 256" + "\r\n");
        buffer.Append("    " + "normalize: false" + "\r\n");
        buffer.Append("    " + "num_epoch: 3" + "\r\n");
        buffer.Append("    " + "num_layers: 2" + "\r\n");
        buffer.Append("    " + "time_horizon: 64" + "\r\n");
        buffer.Append("    " + "sequence_length: 64" + "\r\n");
        buffer.Append("    " + "summary_freq: 1000" + "\r\n");
        buffer.Append("    " + "use_recurrent: false" + "\r\n");
        buffer.Append("    " + "use_curiosity: false" + "\r\n");
        buffer.Append("    " + "use_recurrent: false" + "\r\n");
        buffer.Append("    " + "curiosity_strength: 0.01" + "\r\n");
        buffer.Append("    " + "curiosity_enc_size: 128" + "\r\n");
        buffer.Append("\r\n");

        buffer.Append(BrainName + ":\r\n");
        foreach (var setting in settings)
        {
            if (setting.isUsed)
            {
                var outSetting = setting.Interpolate(manager.StartingConfigIncrement, manager.MaxConfigIncrement, manager.GetCurrentStep());
                buffer.Append("    " + outSetting.key + ": " + outSetting.value + "\r\n");
            }
        }

        File.WriteAllText(configFile, buffer.ToString());
        File.WriteAllText(Path.Combine(tensorFlowConfig.MlAgentsConfigDirectory, manager.RunSetName + "-inc" + manager.GetCurrentStep() + ".yaml"), buffer.ToString());
    }
Esempio n. 2
0
    public void SaveConfigForIncrement(RunManager manager)
    {
        var configFile  = Path.Combine(tensorFlowConfig.UnityOutputDirectory, ConfigFilename);
        var outSettings = new List <SimpleSetting>();

        foreach (var setting in settings)
        {
            if (setting.isUsed)
            {
                outSettings.Add(setting.Interpolate(manager.StartingConfigIncrement, manager.MaxConfigIncrement, manager.GetCurrentStep()));
            }
        }

        var settingsJson = new JsonSettings()
        {
            settings = outSettings.ToArray()
        };
        var buffer = JsonUtility.ToJson(settingsJson);

        File.WriteAllText(configFile, buffer.ToString());
        File.WriteAllText(Path.Combine(tensorFlowConfig.UnityOutputDirectory, manager.RunSetName + "-inc" + manager.GetCurrentStep() + ".json"), buffer.ToString());
    }