def run_single_ec2(self, run_method, params, bucket_name, s3_log_name=None, add_date_to_logname=True, region='us-east-2', instance_type='c4.xlarge', args=None, extra_mounts=None): if extra_mounts is None: extra_mounts = [] if s3_log_name is None: s3_log_name = 'unnamed_experiment' if add_date_to_logname: datestamp = datetime.now().strftime('%Y_%m_%d') s3_log_name = '%s_%s' % (datestamp, s3_log_name) mode_ec2 = doodad.mode.EC2AutoconfigDocker( image=self.image, region=region, s3_bucket=bucket_name, instance_type=instance_type, spot_price=INSTANCE_TO_PRICE[instance_type], s3_log_prefix=s3_log_name, ) run_single_doodad(run_method, params, run_mode=mode_ec2, python_cmd=self.python_cmd, mounts=self.mounts + [self.mount_out_s3] + extra_mounts, args=args)
def run_single_gcp(self, run_method, params, s3_log_name=None, add_date_to_logname=True, region='us-west1-a', args=None, extra_mounts=None, **gcp_args): if extra_mounts is None: extra_mounts = [] if s3_log_name is None: s3_log_name = 'unnamed_experiment' if add_date_to_logname: datestamp = datetime.now().strftime('%Y_%m_%d') s3_log_name = '%s_%s' % (datestamp, s3_log_name) mode_ec2 = doodad.mode.GCPDocker( image=self.image, zone=region, gcp_bucket_name=self.gcp_bucket_name, gcp_log_prefix=s3_log_name, image_name=self.gcp_image, image_project=self.gcp_project, **gcp_args, ) run_single_doodad(run_method, params, run_mode=mode_ec2, python_cmd=self.python_cmd, mounts=self.mounts + [self.mount_out_gcp] + extra_mounts, args=args)
extra_mounts=None, async=True): if extra_mounts is None: extra_mounts = [] if local_output_dir is None: mount_out_local = self.mount_out_local else: mount_out_local = mount.MountLocal( local_dir=local_output_dir, mount_point=self.docker_output_dir, output=True) self.mode_local. async = async run_single_doodad(run_method, params, run_mode=self.mode_local, python_cmd=self.python_cmd, mounts=self.mounts + [mount_out_local] + extra_mounts, args=args) def run_sweep_ec2(self, run_method, params, bucket_name, s3_log_name=None, add_date_to_logname=True, region='us-east-2', instance_type='c4.xlarge', repeat=1, args=None, extra_mounts=None):