0

So I have the following code for running skopt.forest_minimize(), but the biggest challenge I am facing right now is that it is taking upwards of days to finish running even just 2 iterations.

SPACE = [skopt.space.Integer(4, max_neighbour, name='n_neighbors', prior='log-uniform'),
            skopt.space.Integer(6, 10, name='nr_cubes', prior='uniform'),
            skopt.space.Categorical(overlap_cat, name='overlap_perc')]

@skopt.utils.use_named_args(SPACE)
    def objective(**params):
        score, scomp = tune_clustering(X_cont=X_cont, df=df, pl_brewer=pl_brewer, **params)
        if score == 0:
            print('saving new scomp')
            with open(scomp_file, 'w') as filehandle:
                json.dump(scomp, filehandle, default = json_default)
        return score

results = skopt.forest_minimize(objective, SPACE, n_calls=1, n_initial_points=1, callback=[scoring])

Is it possible to optimize the following code so that it can compute faster? I noticed that it was barely making use of my CPU, highest CPU utilized is about 30% (it's i7 9th gen with 8 cores).

Also a question while I'm at it, is it possible to utilize a GPU for these computational tasks? I have a 3050 that I can use.

Nayeer Mahiuddin
  • 187
  • 3
  • 16

0 Answers0