Я разрабатываю сверточную нейронную сеть. Для этого у меня есть некоторые данные изображения, и у меня есть метки относительно этих изображений. Метки состоят из 5–8 символов с буквами от A до Z в верхнем регистре и цифрами от 0 до 9.
Эти метки выглядят так: «7C24698», «9B43104» и т. Д. 1011 *.
Я читаю метки, используя этот код:
import csv
track_id = []
image_path = []
lp = []
train = []
# lists for different of label data
with open(r'path\to\labels') as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
track_id.append(row[0])
image_path.append(row[1])
lp.append(row[2])
train.append(row[3])
# pandas dataframe
import pandas as pd
df = pd.DataFrame(list(zip(track_id, image_path, lp, train)))
df_1 = df.columns = df.iloc[0]
df_2 = df.drop(df.index[0])
# pandas dataframe with labels
new_df = df_2.sort_values(by=['image_path', 'track_id'], ascending = [True, True])
# array with labels
y_train = new_df['lp'].to_numpy()
Как я могу одним горячим способом кодировать каждую метку? Я думаю, что я получу 37 символов, содержащих 26 букв, 9 цифр и один пробел (из-за разной длины меток) и массивы для каждой метки. Как я могу это сделать?
Спасибо!