Exemple #1
0
def generate_project_manual_config_file(projectID, preprocessJSONFormData,
                                        Project21Database):
    """
    
    """
    # user_yaml=yaml.load(open(settings.CONFIG_PREPROCESS_YAML_FILE),Loader=SafeLoader)

    random_id = generate_random_id()
    preprocessJSONFormData["id"] = random_id
    preprocessJSONFormData["raw_data_address"] = get_raw_data_path(
        projectID, Project21Database)

    location = "/"
    random_id = generate_random_id()
    try:
        result_project = Project21Database.find_one(
            settings.DB_COLLECTION_PROJECT, {"projectID": projectID})
        result_project = serialiseDict(result_project)
        if result_project is not None:
            location = os.path.join(result_project["projectFolderPath"],
                                    'run' + str(random_id))
    except:
        print("Unable to Update User's Project's Config File")
    if (not os.path.exists(location)):
        os.makedirs(location)

    preprocessJSONFormData["location"] = location
    with open(os.path.join(location, "preprocess_config.yaml"), "w") as f:
        yaml.dump(preprocessJSONFormData, f)
        f.close()

    return os.path.join(location, 'preprocess_config.yaml'
                        ), random_id, result_project["projectType"], location
Exemple #2
0
def generate_project_timeseries_rf_config_file(projectID,currentIDs,timeseriesFormData,Project21Database):
    user_yaml=yaml.load(open(settings.CONFIG_TIMESERIES_MANUAL_FILE),Loader=SafeLoader)

    random_id=generate_random_id()
    user_yaml["id"]=random_id
    user_yaml["raw_data_address"]=get_raw_data_path(projectID,Project21Database)
    user_yaml["target_column_name"]=timeseriesFormData["target"]
    user_yaml["date_index"]=timeseriesFormData["dateColumn"]
    user_yaml["frequency"]=timeseriesFormData["frequency"]
    
    try:
        result_project=Project21Database.find_one(settings.DB_COLLECTION_PROJECT,{"projectID":projectID})
        result_project=serialiseDict(result_project)
        if result_project is not None:
            user_yaml["location"]=os.path.join(result_project["projectFolderPath"],'run'+str(random_id))
            user_yaml["experimentname"]=result_project["projectName"]
        else:
            user_yaml["location"]='/'
            user_yaml["experimentname"]='default'
    except Exception as e:
        print("Unable to Update User's Project's Config File. An Error Occured: ",e)
    
    if(not os.path.exists(user_yaml["location"])):
        os.makedirs(user_yaml["location"])
    with open(os.path.join(user_yaml["location"],"preprocess_config.yaml"), "w") as f:
        yaml.dump(user_yaml,f)
        f.close()
    
    return os.path.join(user_yaml["location"],'preprocess_config.yaml'), user_yaml["location"],random_id, result_project["projectType"]
Exemple #3
0
def generate_project_auto_config_file(projectID,currentIDs,formData,Project21Database):
    """
    Returns the auto config file generated for the project
    ...
    Parameters
    ----------
    projectID: int
    currentIDs: obj
    formData: obj
    Project21Databse: obj
    
    Returns
    -------
    tuple: path, randomID, problemType
    """
    user_yaml=yaml.load(open(settings.CONFIG_AUTO_YAML_FILE),Loader=SafeLoader)
    random_id=generate_random_id()
    user_yaml["id"]=random_id
    user_yaml["raw_data_address"]=get_raw_data_path(projectID,Project21Database)
    user_yaml["target_col_name"]=formData["target"]
    user_yaml["na_value"]=formData["nulltype"]
    user_yaml["n"]=formData["modelnumber"]
    user_yaml["problem_type"]=get_project_type(projectID,Project21Database)
    if(user_yaml["problem_type"]=='clustering'):
        user_yaml["clusteringType"]=formData["clusteringType"]
        user_yaml["numClusters"]=formData["numClusters"]
    # try:
    #     result_model=Project21Database.find_one(settings.DB_COLLECTION_MODEL,{"modelID":currentIDs.get_current_model_id()})
    #     result_model=serialiseDict(result_model)
    #     if result_model is not None:
    #         user_yaml["problem_type"]=result_model["modelType"]
    #     else:
    #         user_yaml["problem_type"]='default'
    # except:
    #     print("Unable to Update User's Project's AutoConfig File")

    try:
        result_project=Project21Database.find_one(settings.DB_COLLECTION_PROJECT,{"projectID":projectID})
        result_project=serialiseDict(result_project)
        if result_project is not None:
            user_yaml["location"]=os.path.join(result_project["projectFolderPath"],'run'+str(random_id))
            user_yaml["experimentname"]=result_project["projectName"]
        else:
            user_yaml["location"]='/'
            user_yaml["experimentname"]='default'
    except:
        print("Unable to Update User's Project's Config File")
    if(not os.path.exists(user_yaml["location"])):
        os.makedirs(user_yaml["location"])
    with open(os.path.join(user_yaml["location"],"autoConfig.yaml"), "w") as f:
        yaml.dump(user_yaml,f)
        f.close()
    
    return os.path.join(user_yaml["location"],'autoConfig.yaml'), random_id , user_yaml["problem_type"]