def METHOD_NAME(smi: str):
    # Make dataset
    data = chemprop.data.MoleculeDataset(
        [chemprop.data.MoleculeDatapoint(line=[smi], args=args)]
    )
    # Normalize features
    if train_args.features_scaling:
        data.normalize_features(features_scaler)
    # Redirect chemprop stderr to null device so that it doesn't
    # print progress bars every time a prediction is made
    with open(os.devnull, 'w') as f, contextlib.redirect_stderr(f):
        # Predict with each model individually and sum predictions
        sum_preds = np.zeros((len(data), args.num_tasks))
        for model in models:
            model_preds = chemprop.train.predict(
                model=model,
                data=data,
                batch_size=1,  # We'll only predict one molecule at a time
                scaler=scaler
            )
            sum_preds += np.array(model_preds)
    avg_preds = sum_preds / len(models)
    return avg_preds