您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
42 行
1.6 KiB
42 行
1.6 KiB
import os
|
|
from mlagents.trainers.exception import UnityTrainerException
|
|
|
|
|
|
def validate_existing_directories(
|
|
output_path: str, resume: bool, force: bool, init_path: str = None
|
|
) -> None:
|
|
"""
|
|
Validates that if the run_id model exists, we do not overwrite it unless --force is specified.
|
|
Throws an exception if resume isn't specified and run_id exists. Throws an exception
|
|
if --resume is specified and run-id was not found.
|
|
:param model_path: The model path specified.
|
|
:param summary_path: The summary path to be used.
|
|
:param resume: Whether or not the --resume flag was passed.
|
|
:param force: Whether or not the --force flag was passed.
|
|
"""
|
|
|
|
output_path_exists = os.path.isdir(output_path)
|
|
|
|
if output_path_exists:
|
|
if not resume and not force:
|
|
raise UnityTrainerException(
|
|
"Previous data from this run ID was found. "
|
|
"Either specify a new run ID, use --resume to resume this run, "
|
|
"or use the --force parameter to overwrite existing data."
|
|
)
|
|
else:
|
|
if resume:
|
|
raise UnityTrainerException(
|
|
"Previous data from this run ID was not found. "
|
|
"Train a new run by removing the --resume flag."
|
|
)
|
|
|
|
# Verify init path if specified.
|
|
if init_path is not None:
|
|
if not os.path.isdir(init_path):
|
|
raise UnityTrainerException(
|
|
"Could not initialize from {}. "
|
|
"Make sure models have already been saved with that run ID.".format(
|
|
init_path
|
|
)
|
|
)
|