model = AutoModel.from_pretrained("distilbert-base-uncased") # ... # tokenize dataset # ... # generate embeddings @torch.inference_mode() def get_output_embeddings(batch): output = model( batch["input_ids"], attention_mask=batch["attention_mask"] ).last_hidden_state[:, 0] return {"features": output} dataset_features = dataset_tokenized.map( get_output_embeddings, batched=True, batch_size=10) X_train = np.array(imdb_features["train"]["features"]) y_train = np.array(imdb_features["train"]["label"]) X_val = np.array(imdb_features["validation"]["features"]) y_val = np.array(imdb_features["validation"]["label"]) X_test = np.array(imdb_features["test"]["features"]) y_test = np.array(imdb_features["test"]["label"]) # train classifier from sklearn.linear_model import LogisticRegression clf = LogisticRegression() clf.fit(X_train, y_train) print("Training accuracy", clf.score(X_train, y_train)) print("Validation accuracy", clf.score(X_val, y_val)) print("test accuracy", clf.score(X_test, y_test))