brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
module-computationCompute evaluate metrics, comparisons, and measurements with direct or streaming inputs; combine modules; configure cache/distributed runs; save results; and debug input validation.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a user has already selected or loaded an evaluate module and needs to run it correctly. Route module discovery, Hub/local loading, revisions, and evaluate.load(...) decisions to ../module-loading/. Route evaluator pipeline orchestration around datasets/models/pipelines to ../evaluator-pipelines/. Route authoring or sharing new modules to ../hub-and-cli/.
module.features, module.inputs_description, module.module_type, and module.info so input names and shapes match the module contract.module.compute(predictions=[...], references=[...], **module_kwargs) for all inputs at once.module.add(prediction=..., reference=...) repeatedly, then module.compute().module.add_batch(predictions=[...], references=[...]) for each batch, then module.compute().features, such as inputs= and targets=, instead of assuming predictions/references.evaluate.combine(...); pass force_prefix=True or a name-to-module dict when output keys may collide.cache_dir, num_process, and experiment_id on every worker, a unique process_id per worker, and read the result only from process_id == 0.evaluate.save(path_or_file, **result, **metadata) when the user needs a JSON record.references/computation-workflows.md: direct compute, streaming, combined evaluations, distributed/cache patterns, result saving, and integration examples.references/api-reference.md: signatures, accepted inputs, result shapes, and constructor/settings table for computation APIs.references/troubleshooting.md: validation, shape, cache, distributed, casting, and combined-key failure modes.scripts/compute_smoke.py: safe smoke helper for tiny computations against a named module or local module path.import evaluate
metric = evaluate.load("accuracy")
result = metric.compute(predictions=[0, 1, 1, 0], references=[0, 1, 0, 1])
metric = evaluate.load("accuracy")
for predictions, references in [([0, 1], [0, 1]), ([1, 0], [0, 1])]:
metric.add_batch(predictions=predictions, references=references)
result = metric.compute()
combined = evaluate.combine({"acc": "accuracy", "f1_binary": "f1"}, force_prefix=True)
result = combined.compute(predictions=[0, 1, 0], references=[0, 1, 1])
compute, add, and add_batch are keyword-oriented for EvaluationModule; do not rely on positional calls for normal modules.features describes one example; add_batch and compute usually receive lists, arrays, or tensors of those examples.add takes singular aliases (prediction, reference) for standard modules; use custom feature names directly for non-standard modules.compute() returns None on non-zero distributed processes; only process 0 returns the final result dict.keep_in_memory=True is single-process only; do not combine it with num_process > 1.evaluate.save records metadata including interpreter information in the JSON output; avoid publishing sensitive local paths from saved files without review.