def _check_model_version(self, version: str) -> None: """ Checks whether the model being loaded was created with the same version of ML-Agents, and throw a warning if not so. """ if self.policy is not None and self.policy.version_tensors is not None: loaded_ver = tuple( num.eval(session=self.sess) for num in self.policy.version_tensors) if loaded_ver != TFPolicy._convert_version_string(version): logger.warning( f"The model checkpoint you are loading from was saved with ML-Agents version " f"{loaded_ver[0]}.{loaded_ver[1]}.{loaded_ver[2]} but your current ML-Agents" f"version is {version}. Model may not behave properly.")
def test_convert_version_string(): result = TFPolicy._convert_version_string("200.300.100") assert result == (200, 300, 100) # Test dev versions result = TFPolicy._convert_version_string("200.300.100.dev0") assert result == (200, 300, 100)