В настоящее время я собираюсь реорганизовать существующий код в более новый API TF Dataset. В нашем текущем процессе мы заполняем стандартный словарь Python идентификаторами продуктов для идентификаторов классификации.
Теперь я переместил наши изображения / пути к набору данных TF, а затем, используя tf.string_split, извлекаю различную информацию из самого имени файла. Одним из них является product_id. На данный момент product_id является тензором tf, который я не могу выполнить поиск, используя наши предыдущие средства через " if product_id в products_to_class ", потому что у меня теперь есть тензор, и я не могу выполнить поиск через стандартный словарь.
Так что я использую этот проект как способ узнать, как повысить производительность. Поэтому я хотел знать, какой подход «лучший / рекомендуемый» используется здесь при работе с пакетами API tf Dataset. Преобразовать ли я product_id в строку и просто выполнить поиск по текущей проверке, если выше, или мне теперь нужно преобразовать словарь products_to_class в другую структуру данных, такую как другой набор данных, и выполнить поиск с использованием тензоров? Любой совет будет принята с благодарностью.
Небольшой пример того, что у меня сейчас есть:
prod_to_class = {'12345': 0, '67890': 1}
#Below logic is in a mapped function used on a TF.Dataset
def _parse_fn(filename, label)
core_file = tf.string_split([filename], '\\').values[-1]
product_id = tf.string_split([core_file], ".").values[0]
#unable to perform below because product_id is now a tensor and
#products_to_class is a python dictionary
if product_id in products_to_class:
label = products_to_class[product_id]