为了账号安全,请及时绑定邮箱和手机立即绑定

如何在加载模型并使用一个类进行训练时对类进行编码器转换

如何在加载模型并使用一个类进行训练时对类进行编码器转换

翻阅古今 2022-04-23 17:16:39
我已经将模型保存为my_model.h5. 我的7课程是array(['Drums Beating', 'Machine Digging', 'Man Movement',      'Manual Digging', 'Manual Digging - Deeper (1.5 to 3 feets)',      'Normal', 'Tunneling'], dtype=object)现在我必须训练一个只有一个类的模型(suppose 'drums beating')。所以我将用旧权重初始化新训练模型的权重。因此,当我需要对标签进行编码(例如drums beating)时,如何对其进行编码,使其具有([0,0,0,1,0,0,0])我之前训练时的虚拟值。为了清楚起见,鼓声的早期虚拟值是[0,0,0,1,0,0,0]。但是当我按如下方式加载编码器时with open('/home/ANN_Unrolled_30_sample_7_class/ANN_UNrolled_sample_30_7_class.pkl', 'rb') as f:   encoder = pkl.load(f)并应用encode.transform,它[0]只是因为新训练模型中只有一个类。我该怎么做才能得到以前的假人本身([0,0,0,1,0,0,0]]如果我过分强调或过分强调某事,请在评论中告诉我。
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

请执行下列操作


with open('/home/ANN_Unrolled_30_sample_7_class/ANN_UNrolled_sample_30_7_class.pkl', "rb") as infile:

   encoder = pkl.load(infile)

temp = encoder.transform(your_required_classes)

num = len(encoder.classes_)

k = to_categorical(temp,num_classes=num)


查看完整回答
反对 回复 2022-04-23
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

在对整个训练数据(7 个类)进行训练后,您需要对编码器进行腌制,就像对神经网络所做的那样。

最好的方法是有一个单独的数据转换管道,可以腌制。我建议使用 sklearn 的这个管道


查看完整回答
反对 回复 2022-04-23
  • 2 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信