Upload folder using huggingface_hub
Browse files
README.md
CHANGED
@@ -281,57 +281,57 @@ widget:
|
|
281 |
|
282 |
### Model Plot
|
283 |
|
284 |
-
<style>#sk-container-id-
|
285 |
-
}#sk-container-id-
|
286 |
-
}#sk-container-id-
|
287 |
-
}#sk-container-id-
|
288 |
-
}#sk-container-id-
|
289 |
-
}#sk-container-id-
|
290 |
-
}#sk-container-id-
|
291 |
}div.sk-parallel-item,
|
292 |
div.sk-serial,
|
293 |
div.sk-item {/* draw centered vertical line to link estimators */background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));background-size: 2px 100%;background-repeat: no-repeat;background-position: center center;
|
294 |
-
}/* Parallel-specific style estimator block */#sk-container-id-
|
295 |
-
}#sk-container-id-
|
296 |
-
}#sk-container-id-
|
297 |
-
}#sk-container-id-
|
298 |
-
}#sk-container-id-
|
299 |
-
}#sk-container-id-
|
300 |
-
}/* Serial-specific style estimator block */#sk-container-id-
|
301 |
}/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is
|
302 |
clickable and can be expanded/collapsed.
|
303 |
- Pipeline and ColumnTransformer use this feature and define the default style
|
304 |
- Estimators will overwrite some part of the style using the `sk-estimator` class
|
305 |
-
*//* Pipeline and ColumnTransformer style (default) */#sk-container-id-
|
306 |
}/* Toggleable label */
|
307 |
-
#sk-container-id-
|
308 |
-
}#sk-container-id-
|
309 |
-
}#sk-container-id-
|
310 |
-
}/* Toggleable content - dropdown */#sk-container-id-
|
311 |
-
}#sk-container-id-
|
312 |
-
}#sk-container-id-
|
313 |
-
}#sk-container-id-
|
314 |
-
}#sk-container-id-
|
315 |
-
}#sk-container-id-
|
316 |
-
}/* Pipeline/ColumnTransformer-specific style */#sk-container-id-
|
317 |
-
}#sk-container-id-
|
318 |
}/* Estimator-specific style *//* Colorize estimator box */
|
319 |
-
#sk-container-id-
|
320 |
-
}#sk-container-id-
|
321 |
-
}#sk-container-id-
|
322 |
-
#sk-container-id-
|
323 |
}/* On hover, darken the color of the background */
|
324 |
-
#sk-container-id-
|
325 |
}/* Label box, darken color on hover, fitted */
|
326 |
-
#sk-container-id-
|
327 |
-
}/* Estimator label */#sk-container-id-
|
328 |
-
}#sk-container-id-
|
329 |
}/* Estimator-specific */
|
330 |
-
#sk-container-id-
|
331 |
-
}#sk-container-id-
|
332 |
}/* on hover */
|
333 |
-
#sk-container-id-
|
334 |
-
}#sk-container-id-
|
335 |
}/* Specification for estimator info (e.g. "i" and "?") *//* Common style for "i" and "?" */.sk-estimator-doc-link,
|
336 |
a:link.sk-estimator-doc-link,
|
337 |
a:visited.sk-estimator-doc-link {float: right;font-size: smaller;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1em;height: 1em;width: 1em;text-decoration: none !important;margin-left: 1ex;/* unfitted */border: var(--sklearn-color-unfitted-level-1) 1pt solid;color: var(--sklearn-color-unfitted-level-1);
|
@@ -351,13 +351,13 @@ div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,
|
|
351 |
.sk-estimator-doc-link span {display: none;z-index: 9999;position: relative;font-weight: normal;right: .2ex;padding: .5ex;margin: .5ex;width: min-content;min-width: 20ex;max-width: 50ex;color: var(--sklearn-color-text);box-shadow: 2pt 2pt 4pt #999;/* unfitted */background: var(--sklearn-color-unfitted-level-0);border: .5pt solid var(--sklearn-color-unfitted-level-3);
|
352 |
}.sk-estimator-doc-link.fitted span {/* fitted */background: var(--sklearn-color-fitted-level-0);border: var(--sklearn-color-fitted-level-3);
|
353 |
}.sk-estimator-doc-link:hover span {display: block;
|
354 |
-
}/* "?"-specific style due to the `<a>` HTML tag */#sk-container-id-
|
355 |
-
}#sk-container-id-
|
356 |
}/* On hover */
|
357 |
-
#sk-container-id-
|
358 |
-
}#sk-container-id-
|
359 |
}
|
360 |
-
</style><div id="sk-container-id-
|
361 |
|
362 |
## Evaluation Results
|
363 |
|
@@ -394,3 +394,20 @@ bdpedigo
|
|
394 |
# model_description
|
395 |
|
396 |
This is a model trained to classify pieces of neuron as axon, dendrite, soma, orglia, based only on their local shape and synapse features.The model is a linear discriminant classifier which was trained on compartment labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 dataset.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
|
282 |
### Model Plot
|
283 |
|
284 |
+
<style>#sk-container-id-5 {/* Definition of color scheme common for light and dark mode */--sklearn-color-text: black;--sklearn-color-line: gray;/* Definition of color scheme for unfitted estimators */--sklearn-color-unfitted-level-0: #fff5e6;--sklearn-color-unfitted-level-1: #f6e4d2;--sklearn-color-unfitted-level-2: #ffe0b3;--sklearn-color-unfitted-level-3: chocolate;/* Definition of color scheme for fitted estimators */--sklearn-color-fitted-level-0: #f0f8ff;--sklearn-color-fitted-level-1: #d4ebff;--sklearn-color-fitted-level-2: #b3dbfd;--sklearn-color-fitted-level-3: cornflowerblue;/* Specific color for light theme */--sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));--sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));--sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));--sklearn-color-icon: #696969;@media (prefers-color-scheme: dark) {/* Redefinition of color scheme for dark theme */--sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));--sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));--sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));--sklearn-color-icon: #878787;}
|
285 |
+
}#sk-container-id-5 {color: var(--sklearn-color-text);
|
286 |
+
}#sk-container-id-5 pre {padding: 0;
|
287 |
+
}#sk-container-id-5 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;
|
288 |
+
}#sk-container-id-5 div.sk-dashed-wrapped {border: 1px dashed var(--sklearn-color-line);margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: var(--sklearn-color-background);
|
289 |
+
}#sk-container-id-5 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }`but bootstrap.min.css set `[hidden] { display: none !important; }`so we also need the `!important` here to be able to override thedefault hidden behavior on the sphinx rendered scikit-learn.org.See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;
|
290 |
+
}#sk-container-id-5 div.sk-text-repr-fallback {display: none;
|
291 |
}div.sk-parallel-item,
|
292 |
div.sk-serial,
|
293 |
div.sk-item {/* draw centered vertical line to link estimators */background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));background-size: 2px 100%;background-repeat: no-repeat;background-position: center center;
|
294 |
+
}/* Parallel-specific style estimator block */#sk-container-id-5 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 2px solid var(--sklearn-color-text-on-default-background);flex-grow: 1;
|
295 |
+
}#sk-container-id-5 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: var(--sklearn-color-background);position: relative;
|
296 |
+
}#sk-container-id-5 div.sk-parallel-item {display: flex;flex-direction: column;
|
297 |
+
}#sk-container-id-5 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;
|
298 |
+
}#sk-container-id-5 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;
|
299 |
+
}#sk-container-id-5 div.sk-parallel-item:only-child::after {width: 0;
|
300 |
+
}/* Serial-specific style estimator block */#sk-container-id-5 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: var(--sklearn-color-background);padding-right: 1em;padding-left: 1em;
|
301 |
}/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is
|
302 |
clickable and can be expanded/collapsed.
|
303 |
- Pipeline and ColumnTransformer use this feature and define the default style
|
304 |
- Estimators will overwrite some part of the style using the `sk-estimator` class
|
305 |
+
*//* Pipeline and ColumnTransformer style (default) */#sk-container-id-5 div.sk-toggleable {/* Default theme specific background. It is overwritten whether we have aspecific estimator or a Pipeline/ColumnTransformer */background-color: var(--sklearn-color-background);
|
306 |
}/* Toggleable label */
|
307 |
+
#sk-container-id-5 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.5em;box-sizing: border-box;text-align: center;
|
308 |
+
}#sk-container-id-5 label.sk-toggleable__label-arrow:before {/* Arrow on the left of the label */content: "▸";float: left;margin-right: 0.25em;color: var(--sklearn-color-icon);
|
309 |
+
}#sk-container-id-5 label.sk-toggleable__label-arrow:hover:before {color: var(--sklearn-color-text);
|
310 |
+
}/* Toggleable content - dropdown */#sk-container-id-5 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
|
311 |
+
}#sk-container-id-5 div.sk-toggleable__content.fitted {/* fitted */background-color: var(--sklearn-color-fitted-level-0);
|
312 |
+
}#sk-container-id-5 div.sk-toggleable__content pre {margin: 0.2em;border-radius: 0.25em;color: var(--sklearn-color-text);/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
|
313 |
+
}#sk-container-id-5 div.sk-toggleable__content.fitted pre {/* unfitted */background-color: var(--sklearn-color-fitted-level-0);
|
314 |
+
}#sk-container-id-5 input.sk-toggleable__control:checked~div.sk-toggleable__content {/* Expand drop-down */max-height: 200px;max-width: 100%;overflow: auto;
|
315 |
+
}#sk-container-id-5 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";
|
316 |
+
}/* Pipeline/ColumnTransformer-specific style */#sk-container-id-5 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {color: var(--sklearn-color-text);background-color: var(--sklearn-color-unfitted-level-2);
|
317 |
+
}#sk-container-id-5 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: var(--sklearn-color-fitted-level-2);
|
318 |
}/* Estimator-specific style *//* Colorize estimator box */
|
319 |
+
#sk-container-id-5 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {/* unfitted */background-color: var(--sklearn-color-unfitted-level-2);
|
320 |
+
}#sk-container-id-5 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {/* fitted */background-color: var(--sklearn-color-fitted-level-2);
|
321 |
+
}#sk-container-id-5 div.sk-label label.sk-toggleable__label,
|
322 |
+
#sk-container-id-5 div.sk-label label {/* The background is the default theme color */color: var(--sklearn-color-text-on-default-background);
|
323 |
}/* On hover, darken the color of the background */
|
324 |
+
#sk-container-id-5 div.sk-label:hover label.sk-toggleable__label {color: var(--sklearn-color-text);background-color: var(--sklearn-color-unfitted-level-2);
|
325 |
}/* Label box, darken color on hover, fitted */
|
326 |
+
#sk-container-id-5 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {color: var(--sklearn-color-text);background-color: var(--sklearn-color-fitted-level-2);
|
327 |
+
}/* Estimator label */#sk-container-id-5 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;
|
328 |
+
}#sk-container-id-5 div.sk-label-container {text-align: center;
|
329 |
}/* Estimator-specific */
|
330 |
+
#sk-container-id-5 div.sk-estimator {font-family: monospace;border: 1px dotted var(--sklearn-color-border-box);border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
|
331 |
+
}#sk-container-id-5 div.sk-estimator.fitted {/* fitted */background-color: var(--sklearn-color-fitted-level-0);
|
332 |
}/* on hover */
|
333 |
+
#sk-container-id-5 div.sk-estimator:hover {/* unfitted */background-color: var(--sklearn-color-unfitted-level-2);
|
334 |
+
}#sk-container-id-5 div.sk-estimator.fitted:hover {/* fitted */background-color: var(--sklearn-color-fitted-level-2);
|
335 |
}/* Specification for estimator info (e.g. "i" and "?") *//* Common style for "i" and "?" */.sk-estimator-doc-link,
|
336 |
a:link.sk-estimator-doc-link,
|
337 |
a:visited.sk-estimator-doc-link {float: right;font-size: smaller;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1em;height: 1em;width: 1em;text-decoration: none !important;margin-left: 1ex;/* unfitted */border: var(--sklearn-color-unfitted-level-1) 1pt solid;color: var(--sklearn-color-unfitted-level-1);
|
|
|
351 |
.sk-estimator-doc-link span {display: none;z-index: 9999;position: relative;font-weight: normal;right: .2ex;padding: .5ex;margin: .5ex;width: min-content;min-width: 20ex;max-width: 50ex;color: var(--sklearn-color-text);box-shadow: 2pt 2pt 4pt #999;/* unfitted */background: var(--sklearn-color-unfitted-level-0);border: .5pt solid var(--sklearn-color-unfitted-level-3);
|
352 |
}.sk-estimator-doc-link.fitted span {/* fitted */background: var(--sklearn-color-fitted-level-0);border: var(--sklearn-color-fitted-level-3);
|
353 |
}.sk-estimator-doc-link:hover span {display: block;
|
354 |
+
}/* "?"-specific style due to the `<a>` HTML tag */#sk-container-id-5 a.estimator_doc_link {float: right;font-size: 1rem;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1rem;height: 1rem;width: 1rem;text-decoration: none;/* unfitted */color: var(--sklearn-color-unfitted-level-1);border: var(--sklearn-color-unfitted-level-1) 1pt solid;
|
355 |
+
}#sk-container-id-5 a.estimator_doc_link.fitted {/* fitted */border: var(--sklearn-color-fitted-level-1) 1pt solid;color: var(--sklearn-color-fitted-level-1);
|
356 |
}/* On hover */
|
357 |
+
#sk-container-id-5 a.estimator_doc_link:hover {/* unfitted */background-color: var(--sklearn-color-unfitted-level-3);color: var(--sklearn-color-background);text-decoration: none;
|
358 |
+
}#sk-container-id-5 a.estimator_doc_link.fitted:hover {/* fitted */background-color: var(--sklearn-color-fitted-level-3);
|
359 |
}
|
360 |
+
</style><div id="sk-container-id-5" class="sk-top-container" style="overflow: auto;"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[('transformer',QuantileTransformer(output_distribution='normal')),('lda', LinearDiscriminantAnalysis(n_components=3))])</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-13" type="checkbox" ><label for="sk-estimator-id-13" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted"> Pipeline<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.pipeline.Pipeline.html">?<span>Documentation for Pipeline</span></a><span class="sk-estimator-doc-link fitted">i<span>Fitted</span></span></label><div class="sk-toggleable__content fitted"><pre>Pipeline(steps=[('transformer',QuantileTransformer(output_distribution='normal')),('lda', LinearDiscriminantAnalysis(n_components=3))])</pre></div> </div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-14" type="checkbox" ><label for="sk-estimator-id-14" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted"> QuantileTransformer<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.preprocessing.QuantileTransformer.html">?<span>Documentation for QuantileTransformer</span></a></label><div class="sk-toggleable__content fitted"><pre>QuantileTransformer(output_distribution='normal')</pre></div> </div></div><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-15" type="checkbox" ><label for="sk-estimator-id-15" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted"> LinearDiscriminantAnalysis<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html">?<span>Documentation for LinearDiscriminantAnalysis</span></a></label><div class="sk-toggleable__content fitted"><pre>LinearDiscriminantAnalysis(n_components=3)</pre></div> </div></div></div></div></div></div>
|
361 |
|
362 |
## Evaluation Results
|
363 |
|
|
|
394 |
# model_description
|
395 |
|
396 |
This is a model trained to classify pieces of neuron as axon, dendrite, soma, orglia, based only on their local shape and synapse features.The model is a linear discriminant classifier which was trained on compartment labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 dataset.
|
397 |
+
|
398 |
+
# Classification Report
|
399 |
+
|
400 |
+
<details>
|
401 |
+
<summary> Click to expand </summary>
|
402 |
+
|
403 |
+
| precision | recall | f1-score | support |
|
404 |
+
|-------------|----------|------------|--------------|
|
405 |
+
| 0.956309 | 0.964704 | 0.960488 | 16404 |
|
406 |
+
| 0.928038 | 0.911341 | 0.919614 | 6948 |
|
407 |
+
| 0.964442 | 0.935279 | 0.949636 | 7540 |
|
408 |
+
| 0.570513 | 0.857831 | 0.685274 | 415 |
|
409 |
+
| 0.944357 | 0.944357 | 0.944357 | 0.944357 |
|
410 |
+
| 0.854825 | 0.917289 | 0.878753 | 31307 |
|
411 |
+
| 0.946879 | 0.944357 | 0.945155 | 31307 |
|
412 |
+
|
413 |
+
</details>
|
train.py
CHANGED
@@ -285,6 +285,13 @@ train_X_df, test_X_df, train_l2_y, test_l2_y = box_train_test_split(
|
|
285 |
|
286 |
final_lda.fit(train_X_df, train_l2_y)
|
287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
# %%
|
289 |
|
290 |
model_pickle_file = out_path / model_name / f"{model_name}.skops"
|
@@ -292,6 +299,7 @@ with open(model_pickle_file, mode="bw") as f:
|
|
292 |
dump(final_lda, file=f)
|
293 |
|
294 |
# %%
|
|
|
295 |
from pathlib import Path
|
296 |
|
297 |
from skops import card, hub_utils
|
@@ -310,27 +318,30 @@ if not hub_out_path.exists():
|
|
310 |
|
311 |
hub_utils.add_files(__file__, dst=hub_out_path, exist_ok=True)
|
312 |
|
313 |
-
|
314 |
-
|
315 |
-
model_card.metadata.
|
316 |
-
|
317 |
-
model_description = (
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
)
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
|
|
|
|
|
|
334 |
|
335 |
hub_utils.push(
|
336 |
repo_id=f"bdpedigo/{model_name}",
|
|
|
285 |
|
286 |
final_lda.fit(train_X_df, train_l2_y)
|
287 |
|
288 |
+
report = classification_report(
|
289 |
+
train_l2_y, final_lda.predict(train_X_df), output_dict=True
|
290 |
+
)
|
291 |
+
|
292 |
+
# %%
|
293 |
+
report_table = pd.DataFrame(report).T
|
294 |
+
|
295 |
# %%
|
296 |
|
297 |
model_pickle_file = out_path / model_name / f"{model_name}.skops"
|
|
|
299 |
dump(final_lda, file=f)
|
300 |
|
301 |
# %%
|
302 |
+
import os
|
303 |
from pathlib import Path
|
304 |
|
305 |
from skops import card, hub_utils
|
|
|
318 |
|
319 |
hub_utils.add_files(__file__, dst=hub_out_path, exist_ok=True)
|
320 |
|
321 |
+
# if not os.exists(hub_out_path / "README.md"):
|
322 |
+
if True:
|
323 |
+
model_card = card.Card(model, metadata=card.metadata_from_config(hub_out_path))
|
324 |
+
model_card.metadata.license = "mit"
|
325 |
+
model_description = (
|
326 |
+
"This is a model trained to classify pieces of neuron as axon, dendrite, soma, or"
|
327 |
+
"glia, "
|
328 |
+
"based only on their local shape and synapse features."
|
329 |
+
"The model is a linear discriminant classifier which was trained on compartment "
|
330 |
+
"labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 "
|
331 |
+
"dataset."
|
332 |
+
)
|
333 |
+
model_card_authors = "bdpedigo"
|
334 |
+
model_card.add(
|
335 |
+
model_card_authors=model_card_authors,
|
336 |
+
model_description=model_description,
|
337 |
+
)
|
338 |
+
model_card.add_table(
|
339 |
+
folded=True,
|
340 |
+
**{
|
341 |
+
"Classification Report": report_table,
|
342 |
+
},
|
343 |
+
)
|
344 |
+
model_card.save(hub_out_path / "README.md")
|
345 |
|
346 |
hub_utils.push(
|
347 |
repo_id=f"bdpedigo/{model_name}",
|