数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
二、API
2.1 EvaluationModuleInfo/EvaluationModule
class evaluate.EvaluationModuleInfo
:是MetricInfo, ComparisonInfo, MeasurementInfo
的基类。xxxxxxxxxx
class evaluate.EvaluationModuleInfo( description: str, citation: str, features: typing.Union[datasets.features.features.Features, typing.List[datasets.features.features.Features]], inputs_description: str = <factory>, homepage: str = <factory>, license: str = <factory>, codebase_urls: typing.List[str] = <factory>, reference_urls: typing.List[str] = <factory>, streamable: bool = False, format: typing.Optional[str] = None, module_type: str = 'metric', module_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, experiment_id: typing.Optional[str] = None )方法:
from_directory(metric_info_dir)
:从metric_info_dir
目录中的JSON
文件来创建EvaluationModuleInfo
。write_to_directory(metric_info_dir)
:向metric_info_dir
目录中写入JSON
文件。
class evaluate.MetricInfo/ComparisonInfo/MeasurementInfo
:metric/comparison/measurement
的信息。xxxxxxxxxx
class evaluate.MetricInfo/ComparisonInfo/MeasurementInfo( description: str, citation: str, features: typing.Union[datasets.features.features.Features, typing.List[datasets.features.features.Features]], inputs_description: str = <factory>, homepage: str = <factory>, license: str = <factory>, codebase_urls: typing.List[str] = <factory>, reference_urls: typing.List[str] = <factory>, streamable: bool = False, format: typing.Optional[str] = None, module_type: str = 'metric', module_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, experiment_id: typing.Optional[str] = None )class evaluate.EvaluationModule
:Metric, Comparison, Measurement
的基类,包含一些通用的API
。xxxxxxxxxx
class evaluate.EvaluationModule( config_name: typing.Optional[str] = None, keep_in_memory: bool = False, cache_dir: typing.Optional[str] = None, num_process: int = 1, process_id: int = 0, seed: typing.Optional[int] = None, experiment_id: typing.Optional[str] = None, hash: str = None, max_concurrent_cache_files: int = 10000, timeout: typing.Union[int, float] = 100, **kwargs )参数:
config_name
:一个字符串,用于定义一个特定于模块计算脚本的哈希值。keep_in_memory
:一个布尔值,指定是否在内存中保留所有predictions
和references
。在分布式setting
中不可用。cache_dir
:一个字符串,指定存储临时的prediction/references data
的目录。在分布式setting
中,数据目录应位于共享文件系统上。默认为~/.cache/huggingface/evaluate/
。num_process
:一个整数,指定分布式setting
中节点的总数。对于分布式setting
很有用。process_id
:一个整数,指定分布式setting
中当前进程的ID
(介于0
和num_process-1
之间)。对于分布式setting
很有用。seed
:一个整数,指定随机数种子。experiment_id
:一个字符串,指定实验id
。对于分布式setting
很有用。hash
:一个字符串,用于根据被哈希的文件内容来识别evaluation
模块。max_concurrent_cache_files
:一个整数,指定并发的module cache files
的数量。默认为10000
。timeout
:一个整数或浮点数,指定分布式setting
同步的超时时间,单位为秒。
方法:
add(prediction = None, reference = None, **kwargs)
:添加一个(prediction, reference)
用于评估。参数:
prediction
:指定预测结果。reference
:指定ground-truth
。
add_batch(predictions = None, references = None, **kwargs)
:添加batch
的(prediction, reference)
用于评估。参数:
prediction
:指定一组预测结果。reference
:指定一组ground-truth
。
compute(predictions = None, references = None, **kwargs)
:计算评估结果。参数:
prediction
:指定一组预测结果。reference
:指定一组ground-truth
。kwargs
:关键字参数,被传递给evaluation model
的_compute
方法。
download_and_prepare(download_config: typing.Optional[evaluate.utils.file_utils.DownloadConfig] = None, dl_manager: typing.Optional[datasets.download.download_manager.DownloadManager] = None )
:下载和准备数据集。参数:
download_config
:一个DownloadConfig
对象,指定下载配置参数。dl_manager
:一个DownloadManager
,指定下载管理器。
class evaluate.Metric/Comparison/Measurement
:所有metric/comparison/measurement
的基类。xxxxxxxxxx
class evaluate.Metric/Comparison/Measurement( config_name: typing.Optional[str] = None, keep_in_memory: bool = False, cache_dir: typing.Optional[str] = None, num_process: int = 1, process_id: int = 0, seed: typing.Optional[int] = None, experiment_id: typing.Optional[str] = None, hash: str = None, max_concurrent_cache_files: int = 10000, timeout: typing.Union[int, float] = 100, **kwargs )
2.2 combine/load/save
evaluate.combine(evaluations, force_prefix = False)
:将几个metrics, comparisons, measurements
合并成一个单一的CombinedEvaluations
对象,可以像一个evaluation
模块一样使用。如果两个
scores
有相同的名字,那么它们用它们的模块名字作为前缀。而如果两个模块有相同的名字,请用字典给它们起不同的名字,否则就在前缀上附加一个整数id
。参数:
evaluations
:一个字典或列表,指定一组evaluation
模块。force_prefix
:一个布尔值,指定是否所有模块的分数都以其名称为前缀。
class evaluate.CombinedEvaluations(evaluation_modules, force_prefix = False )
:CombinedEvaluations
对象。参数:参考
evaluate.combine()
。方法:
add/add_batch/compute
:参考evaluate.EvaluationModule
。evaluate.list_evaluation_modules(module_type = None, include_community = True, with_details = False)
:列出Hugging Face Hub
上所有可用的evaluation
模块。参数:
module_type
:一个字符串,指定evaluation
模块的类型。可以为'metric' , 'comparison', 'measurement'
其中的一个。如果为None
,则列出所有类型。include_community
:一个布尔值,指定是否包含社区模块。默认为True
。with_details
:一个布尔值,指定是否返回metrics
的全部细节而不仅仅是ID
。默认为False
。
evaluate.load()
:加载一个evaluate.EvaluationModule
。xxxxxxxxxx
evaluate.load( path: str, config_name: typing.Optional[str] = None, module_type: typing.Optional[str] = None, process_id: int = 0, num_process: int = 1, cache_dir: typing.Optional[str] = None, experiment_id: typing.Optional[str] = None, keep_in_memory: bool = False, download_config: typing.Optional[evaluate.utils.file_utils.DownloadConfig] = Noned, ownload_mode: typing.Optional[datasets.download.download_manager.DownloadMode] = None, revision: typing.Union[str, datasets.utils.version.Version, NoneType] = None, **init_kwargs )参数:
path
:一个字符串,指定带有evaluation builder
的evaluation processing script
的路径。可以为:processing script
的本地路径,或者包含processing script
的本地目录(目录名和脚本名相同)。HuggingFace evaluate repo
上的evaluation module identifier
。
config_name
:一个字符串,为metric
衡选择一个配置。module_type/process_id/cache_dir/experiment_id/keep_in_memory
:参考evaluate.EvaluationModule
。download_config
:一个DownloadConfig
对象,指定下载配置参数。download_mode
:一个DownloadMode
对象,指定下载模型。默认为REUSE_DATASET_IF_EXISTS
。revision
:一个字符串或evaluate.Version
。如果指定,则模块将以这个版本从数据集repository
加载。指定一个与你的本地版本不同的版本可能会导致兼容性问题。
evaluate.save(path_or_file, **data)
:保存结果到一个JSON
文件。也会保存一些系统信息,如当前时间、当前commit hash
(如果位于一个repo
中)、以及Python
系统信息。参数:
path_or_file
:指定存储文件的路径。如果仅提供目录而不是文件名,则生成的文件的文件名为result-%Y\*%m\*%d-%H\*%M\*%S.json
的格式。evaluate.push_to_hub()
:将一个metric
的结果推送到Hub
中的model repo
的元数据。xxxxxxxxxx
evaluate.push_to_hub( model_id: str, task_type: str, dataset_type: str, dataset_name: str, metric_type: str, metric_name: str, metric_value: float, task_name: str = None, dataset_config: str = None, dataset_split: str = None, dataset_revision: str = None, dataset_args: typing.Dict[str, int] = None, metric_config: str = None, metric_args: typing.Dict[str, int] = None, overwrite: bool = False )参数:
model_id
:一个字符串,指定model id
。task_type
:一个字符串,指定task id
。dataset_type
:一个字符串,指定dataset id
。dataset_name
:一个字符串,指定数据集的名字。metric_type
:一个字符串,指定metric id
。metric_name
:一个字符串,指定metric
名字 。metric_value
:一个字符串,指定计算出的metric
值 。task_name
:一个字符串,指定任务的名字。dataset_config
:一个字符串,指定dataset
配置(被用于datasets.load_dataset()
中)。dataset_split
:一个字符串,指定metric
计算中用到的split
名字。dataset_revision
:一个字符串,指定数据集的特定版本的git hash
。dataset_args
:一个字典,传递给datasets.load_dataset()
的额外参数。metric_config
:一个字符串,指定metric
的配置。metric_args
:一个字典,传递给Metric.compute()
的参数。overwrite
:一个布尔值,指定是否覆盖已有的metric field
。如果为False
则不允许覆盖。默认为False
。
2.3 logging
logging
:参考transformers.utils.logging
,只是在evaluate
模块中,logging
的位置为evaluate.utils.logging
。如:
xxxxxxxxxx
evaluate.utils.logging.set_verbosity_warning() evaluate.utils.logging.set_verbosity_info() evaluate.utils.logging.set_verbosity_debug() evaluate.utils.logging.get_verbosity() -> int evaluate.utils.logging.set_verbosity(verbosity: int ) evaluate.utils.logging.disable_propagation() evaluate.utils.logging.enable_propagation()
2.4 evaluator
evaluate.evaluator(task: str = None) -> Evaluator
:返回针对给定任务的evaluator
。它是一个工厂方法从而创建一个evaluator
。evaluator
封装了一个任务和一个默认的metric
名称。参数:
task
:一个字符串,指定具体的任务。目前可以为:"image-classification"
:返回一个ImageClassificationEvaluator
。"question-answering"
:返回一个QuestionAnsweringEvaluator
。"text-classification"
(别名为"sentiment-analysis"
):返回一个TextClassificationEvaluator
。"token-classification"
:返回一个TokenClassificationEvaluator
。
返回值:一个
Evaluator
对象。示例:
xxxxxxxxxx
from evaluate import evaluator evaluator("sentiment-analysis")class evaluate.Evaluator( task: str, default_metric_name: str = None)
:Evaluator
是所有evaluators
的基类。参数:
task
:一个字符串,指定该Evaluator
对应的任务。default_metric_name
:一个字符串,指定默认的metric
名称。
方法:
check_required_columns(data: typing.Union[str, datasets.arrow_dataset.Dataset], columns_names: typing.Dict[str, str] )
:检查数据集从而确保evaluation
需要的columns
在数据集中存在。参数:
data
:一个字符串或Dataset
,指定运行evaluation
的数据。columns_names
:一个关于字符串的列表,指定需要检查的column names
的列表。keys
是compute()
方法的参数,而values
是需要检查的列名。
compute_metric()
:计算并返回metrics
。xxxxxxxxxx
compute_metric( metric: EvaluationModule, metric_inputs: typing.Dict, strategy: typing.Literal['simple', 'bootstrap'] = 'simple', confidence_level: float = 0.95, n_resamples: int = 9999, random_state: typing.Optional[int] = None )参数:
metric
:一个字符串,指定evaluator
中使用的metric
。metric_inputs
:一个字典,指定metric
的输入。strategy
:一个字符串,可以为"simple"
或者"bootstrap"
,指定评估策略。默认为"simple"
。"simple"
:评估指标并返回分数。"bootstrap"
:在计算分数的基础上,为每个指标计算置信度区间(使用scipy’s bootstrap
方法)。
confidence_level
:一个浮点数,默认为0.95
,当strategy = "bootstrap"
时传递给bootstrap
的置信度值。n_resamples
:一个整数,默认为9999
,当strategy = "bootstrap"
时传递给bootstrap
的n_resamples
值。random_state
:一个整数,当strategy = "bootstrap"
时传递给bootstrap
的random_state
值。
get_dataset_split(data, subset = None, split = None) -> split
:返回数据集的split
。参数:
data
:一个字符串,指定数据集的名称。subset
:一个字符串,返回数据集的更细粒度的配置名,如"glue/cola"
。split
:一个字符串,指定使用哪个split
。如果为None
,则自动推断。也可以使用test[:40]
这种格式。
返回值:数据集的
split
。load_data(data: typing.Union[str, datasets.arrow_dataset.Dataset], subset: str = None, split: str = None) -> data(Dataset)
:加载数据集从而用于evaluation
。参数:
data
:一个字符串或Dataset
,指定数据集。subset/split
:参考get_dataset_split()
方法。
返回值:用于评估的数据。
predictions_processor( *args, **kwargs )
:Evaluator
的核心类,它处理pipeline
的输出从而与metric
兼容。prepare_data(data: Dataset, input_column: str, label_column: str) -> dict
:准备数据。参数:
data
:一个Dataset
对象,指定被评估的数据。input_column
:一个字符串,默认为"text"
,指定数据集的哪一列包含文本特征。label_column
:一个字符串,默认为"label"
,指定数据集的哪一列包含label
。
返回值:一个字典。
prepare_metric( metric: typing.Union[str, evaluate.module.EvaluationModule])
:准备metric
。参数:
metric
:一个字符串或EvaluationModule
,指定evaluator
使用哪个指标。
prepare_pipeline()
:准备pipeline
。xxxxxxxxxx
prepare_pipeline( model_or_pipeline: typing.Union[str, ForwardRef('Pipeline'), typing.Callable, ForwardRef('PreTrainedModel'), ForwardRef('TFPreTrainedModel')], tokenizer: typing.Union[ForwardRef('PreTrainedTokenizerBase'), ForwardRef('FeatureExtractionMixin')] = None, feature_extractor: typing.Union[ForwardRef('PreTrainedTokenizerBase'), ForwardRef('FeatureExtractionMixin')] = None, device: int = None )参数:
model_or_pipeline
:一个字符串或Pipeline
或可调用对象或PreTrainedModel
或TFPreTrainedModel
,指定pipeline
。- 如果未指定,则采用针对该任务的默认
pipeline
。 - 如果是字符串(指定了模型名称)或是一个模型对象,则用它来初始化一个新的
Pipeline
。 - 否则该参数必须指定一个预先初始化好的
pipeline preprocessor
。
- 如果未指定,则采用针对该任务的默认
tokenizer
:一个tokenizer
对象,如果model_or_pipeline
是一个模型,则该参数指定了tokenizer
。否则忽略该参数。feature_extractor
:一个feature_extractor
对象,如果model_or_pipeline
是一个模型,则该参数指定了feature_extractor
。否则忽略该参数。device
:一个整数,指定pipeline
的CPU/GPU
。-1
表示CPU
,正整数对应于相关的GPU
。如果为None
则将自动推断:如果CUDA:0
可用则使用它,否则使用CPU
。
class evaluate.ImageClassificationEvaluator( task = 'image-classification', default_metric_name = None)
:image classification evaluator
。它是image-classification
任务的默认evaluator
,要求数据格式与ImageClassificationPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。xxxxxxxxxx
compute( model_or_pipeline: typing.Union[str, ForwardRef('Pipeline'), typing.Callable, ForwardRef('PreTrainedModel'), ForwardRef('TFPreTrainedModel')] = None, data: typing.Union[str, datasets.arrow_dataset.Dataset] = None, subset: typing.Optional[str] = None, split: typing.Optional[str] = None, metric: typing.Union[str, evaluate.module.EvaluationModule] = None, tokenizer: typing.Union[str, ForwardRef('PreTrainedTokenizer'), NoneType] = None, feature_extractor: typing.Union[str, ForwardRef('FeatureExtractionMixin'), NoneType] = None, strategy: typing.Literal['simple', 'bootstrap'] = 'simple', confidence_level: float = 0.95, n_resamples: int = 9999, device: int = None, random_state: typing.Optional[int] = None, input_column: str = 'image', label_column: str = 'label', label_mapping: typing.Union[typing.Dict[str, numbers.Number], NoneType] = None )参数:
model_or_pipeline/tokenizer/feature_extractor/device
: 参考Evaluator.prepare_pipeline()
。data/subset/split
:参考Evaluator.load_data()
。metric/strategy/confidence_level/n_resamples/random_state
: 参考Evaluator.compute()
。input_column/label_column
:参考Evaluator.prepare_data()
。label_mapping
:一个字典,用于将pipeline
输出中的标签与评估所需的标签对齐。例如,label_column
中的标签可以是整数(0/1
),而pipeline
可以产生诸如"positive"/"negative"
这样的标签名称。
示例:
xxxxxxxxxx
from evaluate import evaluator from datasets import load_dataset task_evaluator = evaluator("image-classification") data = load_dataset("beans", split="test[:40]") results = task_evaluator.compute( model_or_pipeline="nateraw/vit-base-beans", data=data, label_column="labels", metric="accuracy", label_mapping={'angular_leaf_spot': 0, 'bean_rust': 1, 'healthy': 2}, strategy="bootstrap" )class evaluate.QuestionAnsweringEvaluator(task = 'question-answering', default_metric_name = None)
:question answering evaluator
。它是question-answering
任务的默认evaluator
,要求数据格式与QuestionAnsweringPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。xxxxxxxxxx
compute( model_or_pipeline: typing.Union[str, ForwardRef('Pipeline'), typing.Callable, ForwardRef('PreTrainedModel'), ForwardRef('TFPreTrainedModel')] = None, data: typing.Union[str, datasets.arrow_dataset.Dataset] = None, subset: typing.Optional[str] = None, split: typing.Optional[str] = None, metric: typing.Union[str, evaluate.module.EvaluationModule] = None, tokenizer: typing.Union[str, ForwardRef('PreTrainedTokenizer'), NoneType] = None, strategy: typing.Literal['simple', 'bootstrap'] = 'simple', confidence_level: float = 0.95, n_resamples: int = 9999, device: int = None, random_state: typing.Optional[int] = None, question_column: str = 'question', context_column: str = 'context', id_column: str = 'id', label_column: str = 'answers', squad_v2_format: typing.Optional[bool] = None )参数:
model_or_pipeline/data/subset/split/metric/tokenizer/strategy/confidence_level/n_resamples/device/random_state
:参考ImageClassificationEvaluator.compute()
。question_column
:一个字符串,指定数据集中question
列的列名。context_column
:一个字符串,指定数据集中context
列的列名。id_column
:一个字符串,指定数据集中(question, answer) pair
的id field
的列的名称。label_column
:一个字符串,指定数据集中label
列的列名。squad_v2_format
:一个布尔值,指定数据集是否遵循squad_v2
数据集的格式,即question
在上下文中可能没有答案。如果没有提供这个参数,格式将被自动推断出来。
示例:
xxxxxxxxxx
from evaluate import evaluator from datasets import load_dataset task_evaluator = evaluator("question-answering") data = load_dataset("squad", split="validation[:2]") results = task_evaluator.compute( model_or_pipeline="sshleifer/tiny-distilbert-base-cased-distilled-squad", data=data, metric="squad", )class evaluate.TextClassificationEvaluator(task = 'text-classification', default_metric_name = None)
:text classification evaluator
。它是text-classification
任务(也叫sentiment-analysis
任务)的默认evaluator
,要求数据格式与TextClassificationPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。xxxxxxxxxx
compute( model_or_pipeline: typing.Union[str, ForwardRef('Pipeline'), typing.Callable, ForwardRef('PreTrainedModel'), ForwardRef('TFPreTrainedModel')] = None, data: typing.Union[str, datasets.arrow_dataset.Dataset] = None, subset: typing.Optional[str] = None, split: typing.Optional[str] = None, metric: typing.Union[str, evaluate.module.EvaluationModule] = None, tokenizer: typing.Union[str, ForwardRef('PreTrainedTokenizer'), NoneType] = None, feature_extractor: typing.Union[str, ForwardRef('FeatureExtractionMixin'), NoneType] = None, strategy: typing.Literal['simple', 'bootstrap'] = 'simple', confidence_level: float = 0.95, n_resamples: int = 9999, device: int = None, random_state: typing.Optional[int] = None, input_column: str = 'text', second_input_column: typing.Optional[str] = None, label_column: str = 'label', label_mapping: typing.Union[typing.Dict[str, numbers.Number], NoneType] = None )参数:
model_or_pipeline/data/subset/split/metric/tokenizer/strategy/confidence_level/n_resamples/device/random_state/label_mapping
:参考ImageClassificationEvaluator.compute()
。input_column/label_column
:参考Evaluator.prepare_data()
。second_input_column
:一个字符串,指定second input
的列名。
示例:
xxxxxxxxxx
from evaluate import evaluator from datasets import load_dataset task_evaluator = evaluator("text-classification") data = load_dataset("imdb", split="test[:2]") results = task_evaluator.compute( model_or_pipeline="huggingface/prunebert-base-uncased-6-finepruned-w-distil-mnli", data=data, metric="accuracy", label_mapping={"LABEL_0": 0.0, "LABEL_1": 1.0}, strategy="bootstrap", n_resamples=10, random_state=0 )class evaluate.TokenClassificationEvaluator(task = 'token-classification', default_metric_name = None)
:token classification evaluator
。它是token-classification
任务的默认evaluator
,要求数据格式与TokenClassificationPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。xxxxxxxxxx
compute( model_or_pipeline: typing.Union[str, ForwardRef('Pipeline'), typing.Callable, ForwardRef('PreTrainedModel'), ForwardRef('TFPreTrainedModel')] = None, data: typing.Union[str, datasets.arrow_dataset.Dataset] = None, subset: typing.Optional[str] = None, split: str = None, metric: typing.Union[str, evaluate.module.EvaluationModule] = None, tokenizer: typing.Union[str, ForwardRef('PreTrainedTokenizer'), NoneType] = None, strategy: typing.Literal['simple', 'bootstrap'] = 'simple', confidence_level: float = 0.95, n_resamples: int = 9999, device: typing.Optional[int] = None, random_state: typing.Optional[int] = None, input_column: str = 'tokens', label_column: str = 'ner_tags', join_by: typing.Optional[str] = ' ' )参数:
model_or_pipeline/data/subset/split/metric/tokenizer/strategy/confidence_level/n_resamples/device/random_state/input_column/label_column
:参考TextClassificationEvaluator.compute()
。join_by
:一个字符串,大多数的数据集已经被tokenized
了,然而pipeline
预期一个字符串。因此在被传递给pipeline
之前,token
需要被拼接起来。这里join_by
指定拼接的字符串,默认为空格。
示例:
xxxxxxxxxx
from evaluate import evaluator from datasets import load_dataset task_evaluator = evaluator("token-classification") data = load_dataset("conll2003", split="validation[:2]") results = task_evaluator.compute( model_or_pipeline="elastic/distilbert-base-uncased-finetuned-conll03-english", data=data, metric="seqeval", )下面的
dataset
是与TokenClassificationEvaluator
兼容的:xxxxxxxxxx
dataset = Dataset.from_dict( mapping={ "tokens": [["New", "York", "is", "a", "city", "and", "Felix", "a", "person", "."]], "ner_tags": [[1, 2, 0, 0, 0, 0, 3, 0, 0, 0]], }, features=Features({ "tokens": Sequence(feature=Value(dtype="string")), "ner_tags": Sequence(feature=ClassLabel(names=["O", "B-LOC", "I-LOC", "B-PER", "I-PER"])), }), )下面的
dataset
是与TokenClassificationEvaluator
不兼容的:xxxxxxxxxx
dataset = Dataset.from_dict( mapping={ "tokens": [["New York is a city and Felix a person."]], "starts": [[0, 23]], "ends": [[7, 27]], "ner_tags": [["LOC", "PER"]], }, features=Features({ "tokens": Value(dtype="string"), "starts": Sequence(feature=Value(dtype="int32")), "ends": Sequence(feature=Value(dtype="int32")), "ner_tags": Sequence(feature=Value(dtype="string")), }), )class evaluate.Text2TextGenerationEvaluator(task = 'text2text-generation', default_metric_name = None )
:Text2Text generation evaluator
。它是text2text-generation
任务的默认evaluator
,要求数据格式与Text2TextGenerationPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。xxxxxxxxxx
compute( model_or_pipeline: typing.Union[str, ForwardRef('Pipeline'), typing.Callable, ForwardRef('PreTrainedModel'), ForwardRef('TFPreTrainedModel')] = None, data: typing.Union[str, datasets.arrow_dataset.Dataset] = None, subset: typing.Optional[str] = None, split: typing.Optional[str] = None, metric: typing.Union[str, evaluate.module.EvaluationModule] = None, tokenizer: typing.Union[str, ForwardRef('PreTrainedTokenizer'), NoneType] = None, strategy: typing.Literal['simple', 'bootstrap'] = 'simple', confidence_level: float = 0.95, n_resamples: int = 9999, device: int = None, random_state: typing.Optional[int] = None. input_column: str = 'text', label_column: str = 'label', generation_kwargs: dict = None )参数:
model_or_pipeline/data/subset/split/metric/tokenizer/strategy/confidence_level/n_resamples/device/random_state/input_column/label_column
:参考TextClassificationEvaluator.compute()
。generation_kwargs
:关键字参数,传递给pipeline
。
class evaluate.SummarizationEvaluator(task = 'summarization', default_metric_name = None )
:text summarization evaluator
。它是summarization
任务的默认evaluator
,要求数据格式与SummarizationPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。参数参考
Text2TextGenerationEvaluator.compute()
。
class evaluate.TranslationEvaluator(task = 'translation', default_metric_name = None)
:translation evaluator
。它是translation
任务的默认evaluator
,要求数据格式与TranslationPipeline
兼容。参数:参考
Evaluator
。方法:
compute()
:计算并返回metrics
。参数参考
Text2TextGenerationEvaluator.compute()
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论