shap

1.原理

https://github.com/shap/shap

output=base rate+shap(AGE)+shap(SEX)+shap(BP)+shap(BMI)

0.4=0.1+0.4+(-0.3)+(0.1)+(0.1)

shap值0说明这个特征对最终预测没有起作用,正数说明是正向作用,负数说明是负向作用,值越大说明该特征对预测值影响越大

2.使用

1.单样本,不同特征的shap值

2.单特征,特征值和shap的关系

3.两个特征,特征值和shap的关系

3.问题

模型推理

0 概述

https://openmlsys.github.io/chapter_model_deployment/model_inference.html

AI模型总的来说,其实就是两块东西,训练和推理

训练:就是利用数据,得到一个模型

推理:就是将训练好的模型应用到实际业务

1 OONX

Open Neural Network Exchange

跨框架的模型中间表达,模型的统一存储形式

2 推理框架

1 libtorch

2 TensorFlow Lite

3 TensorRT

NVIDIA® TensorRT™ is an SDK for optimizing trained deep learning models to enable high-performance inference.

https://docs.nvidia.com/deeplearning/tensorrt/quick-start-guide/index.html

4 NCNN

ncnn is a high-performance neural network inference computing framework optimized for mobile platforms.

5 onnxruntime

hdfs

1.原理

0 读写

https://blog.csdn.net/whdxjbw/article/details/81072207

1 文件格式

https://www.cnblogs.com/wqbin/p/14635480.html

Hadoop中的文件格式大致上分为面向行和面向列两类

面向行:同一行的数据存储在一起,即连续存储。SequenceFile,MapFile,Avro Datafile。采用这种方式,如果只需要访问行的一小部分数据,亦需要将整行读入内存,推迟序列化一定程度上可以缓解这个问题,但是从磁盘读取整行数据的开销却无法避免。面向行的存储适合于整行数据需要同时处理的情况。

面向列:整个文件被切割为若干列数据,每一列数据一起存储。Parquet , RCFile,ORCFile。面向列的格式使得读取数据时,可以跳过不需要的列,适合于只处于行的一小部分字段的情况。但是这种格式的读写需要更多的内存空间,因为需要缓存行在内存中(为了获取多行中的某一列)。同时不适合流式写入,因为一旦写入失败,当前文件无法恢复,而面向行的数据在写入失败时可以重新同步到最后一个同步点,所以Flume采用的是面向行的存储格式。

2.使用

上传文件

1.页面

2.命令行

https://blog.csdn.net/tandelin/article/details/89514784

3.问题

spark使用总结

小技巧

1.调试

先local 然后集群

可以用本地ide 或者jupyter 调试

2.把数据想象成表,本质就是对行操作

3.多少task就是多少砖,多少并行度就是有多少工人,需要设置合理

日志

如果是yarn client模式

1.driver

客户端可以查看

2.executor

yarn

web ui可以查看

命令行查看 yarn logs —applicationId XXX

spark

web ui可以查看

不同行保存到不同文件

增加字段 区分不同行

落盘的时候 partitionBy(“field1”,”field2”)


:D 一言句子获取中...