0

我已经将模型保存为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]]

如果我过分强调或过分强调某事,请在评论中告诉我。

4

2 回答 2

1

请执行下列操作

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)
于 2019-08-07T06:52:57.080 回答
0

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

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

于 2019-08-05T10:12:48.613 回答