мои коды для расчета расстояния и рекомендации:
def get_similar_products_cnn(product_id, num_results):
# Ensure product_id is of the correct type
product_id = int(product_id) # Convert to int if necessary
doc_id = Productids.index(product_id)
pairwise_dist = pairwise_distances(extracted_features, extracted_features[doc_id].reshape(1,-1))
indices = np.argsort(pairwise_dist.flatten())[0:num_results]
pdists = np.sort(pairwise_dist.flatten())[0:num_results]
print("="*20, "input product image", "="*20)
ip_row = men[['ImageURL','ProductTitle']].loc[men['ProductId']==int(Productids[indices[0]])]
#print(ip_row.head())
for indx, row in ip_row.iterrows():
display(Image(url=row['ImageURL'], width = 224, height = 224,embed=True))
print('Product Title: ', row['ProductTitle'])
print("\n","="*20, "Recommended products", "="*20)
for i in range(1,len(indices)):
rows = men[['ImageURL','ProductTitle']].loc[men['ProductId']==int(Productids[indices])]
for indx, row in rows.iterrows():
display(Image(url=row['ImageURL'], width = 224, height = 224,embed=True))
print('Product Title: ', row['ProductTitle'])
print('Euclidean Distance from input image:', pdists)
get_similar_products_cnn('13683', 5)
и мое сообщение об ошибке:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Когда я впервые получил эту ошибку, я добавил эту часть, но результат не изменился:
product_id = int(product_id)
Подробнее здесь: https://stackoverflow.com/questions/791 ... or-dataset
Истинное значение массива, содержащего более одного элемента, неоднозначно для набора данных. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение