Instructions to use D0men1c0/ISSR_Visual_Model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- BERTopic
How to use D0men1c0/ISSR_Visual_Model with BERTopic:
from bertopic import BERTopic model = BERTopic.load("D0men1c0/ISSR_Visual_Model") - Notebooks
- Google Colab
- Kaggle
| tags: | |
| - bertopic | |
| library_name: bertopic | |
| # ISSR_Visual_Model | |
| This is a [BERTopic](https://github.com/MaartenGr/BERTopic) model. | |
| BERTopic is a flexible and modular topic modeling framework that allows for the generation of easily interpretable topics from large datasets. | |
| ## Usage | |
| To use this model, please install BERTopic: | |
| ``` | |
| pip install -U bertopic | |
| ``` | |
| You can use the model as follows: | |
| ```python | |
| from bertopic import BERTopic | |
| topic_model = BERTopic.load("D0men1c0/ISSR_Visual_Model") | |
| topic_model.get_topic_info() | |
| ``` | |
| You can make predictions as follows: | |
| ```python | |
| val_labels = [...] # list of caption | |
| val_images = [...] # list of images | |
| topic, _ = topic_model.transform(val_labels, images=val_images) | |
| all_topic_info = [topic_model.get_topic_info(t) for t in topic] | |
| all_prediction_info = pd.concat(all_topic_info, ignore_index=True) | |
| # Visualize predictions: | |
| sample_images = 100 | |
| n_images = min(sample_images, len(val_images)) | |
| n_cols = 4 | |
| n_rows = math.ceil(n_images / n_cols) | |
| fig, axes = plt.subplots(n_rows, n_cols, figsize=(15, n_rows * 3)) | |
| axes = axes.flatten() | |
| for i, (path, (_, row)) in enumerate(zip(val_images[:n_images], all_prediction_info.iterrows())): | |
| ax = axes[i] | |
| ax.imshow(Image.open(path)) | |
| ax.axis('off') | |
| ax.set_title(f"Topic {row['Topic']}: {row['KeyBERTInspired'][0]}") | |
| # Hide unused axes | |
| for j in range(n_images, len(axes)): | |
| axes[j].axis('off') | |
| plt.tight_layout() | |
| plt.show() | |
| ``` | |
| ## Topic overview | |
| * Number of topics: 5 | |
| * Number of training documents: 2997 | |
| <details> | |
| <summary>Click here for an overview of all topics.</summary> | |
| | Topic ID | Topic Keywords | Topic Frequency | Label | | |
| |----------|----------------|-----------------|-------| | |
| | -1 | drug - people - gun - - | 151 | -1_drug_people_gun_ | | |
| | 0 | gun - people - drug - - | 2152 | 0_gun_people_drug_ | | |
| | 1 | drug - gun - - - | 342 | 1_drug_gun__ | | |
| | 2 | people - gun - - - | 287 | 2_people_gun__ | | |
| | 3 | people - gun - drug - - | 65 | 3_people_gun_drug_ | | |
| </details> | |
| ## Training hyperparameters | |
| * calculate_probabilities: False | |
| * language: None | |
| * low_memory: False | |
| * min_topic_size: 50 | |
| * n_gram_range: (1, 3) | |
| * nr_topics: None | |
| * seed_topic_list: None | |
| * top_n_words: 5 | |
| * verbose: True | |
| * zeroshot_min_similarity: 0.7 | |
| * zeroshot_topic_list: None | |
| ## Framework versions | |
| * Numpy: 1.26.4 | |
| * HDBSCAN: 0.8.36 | |
| * UMAP: 0.5.6 | |
| * Pandas: 2.2.2 | |
| * Scikit-Learn: 1.4.1.post1 | |
| * Sentence-transformers: 3.0.1 | |
| * Transformers: 4.39.3 | |
| * Numba: 0.60.0 | |
| * Plotly: 5.22.0 | |
| * Python: 3.12.4 | |