Как кодировщик преобразовать класс при загрузке модели и обучении с одним классом

Я уже сохранил модель как 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)

Теперь мне нужно обучить модель только с одним class(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]]

Если я переоценил или недооценил что-то, дайте мне знать в комментариях.


person Fasty    schedule 05.08.2019    source источник


Ответы (2)


Сделайте следующее

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)
person Josin Mathew    schedule 07.08.2019

Вам нужно обработать кодировщик после того, как вы обучили его на всех обучающих данных (7 классов), как и с нейронной сетью.

Наилучший подход - иметь отдельный конвейер для преобразования данных, который можно обрабатывать. Я бы порекомендовал этот конвейер от sklearn.

person Danylo Baibak    schedule 05.08.2019
comment
да, я обработал кодировщик и сохранил его во время обучения. Теперь, когда я перезагружаю его и применяю к нему преобразование, мне нужно получить значение кодировщика, которое я ранее использовал для класса. Для чего используется конвейер, вы можете объяснить? - person Fasty; 05.08.2019