My training code: spacy.require_gpu() nlp = spacy.blank('en') if 'ner' not in nlp.pipe_names: ner = nlp.add_pipe('ner') else: ner = nlp.get_pipe('ner') docs = load_data(ANNOTATED_DATA_FILENAME_BIN) train_data, test_data = split_data(docs, DATA_SPLIT) unique_labels = set(ent.label_ for doc in train_data for ent in doc.ents) for label in unique_labels: ner.add_label(label) optimizer = nlp.initialize() for i in range(EPOCHS): print(f"Starting Epoch {i+1}...") losses = {} batches = minibatch(train_data, size=compounding(4., 4096, 1.001)) for batch in batches: for doc in batch: example = Example.from_dict(doc, {'entities': [(ent.start_char, ent.end_char, ent.label_) for ent in doc.ents]}) nlp.update([example], drop=0.5, losses=losses, sgd=optimizer) print(f"Losses at iteration {i}: {losses}") This code almost completely does not utilize GPU memory. Utilization is about 11-13% during training, which is almost the same as idle. I did allocation test with torch, and all 8Gigs are allocated, so server works fine. The problem is with SpaCy or my code. Could you please help? Continue reading...