각 항목 쌍 사이의 유사성을 찾으려고합니다. 항목은 파이썬 사전에 있으며 한 번에 두 개씩 비슷한 점을 찾습니다. 코드는 -항목 기반 협업 필터링을 빠르게 실행하는 방법은 무엇입니까?
def allSimilarity(itemsDict, similarityMetric):
itemList = itemsDict.keys()
itemSimilarityDict = {}
for item1 in itemList:
itemSimilarityDict[item1] = {}
for item2 in itemList:
if(item1 == item2):
continue
itemSimilarityDict[item1][item2] = similarityMetric(itemsDict, item1, item2)
return itemSimilarityDict
입니다. 문제는 외부 루프가 각 항목마다 5 초가 걸리는 것입니다. 나는 ~ 300,000 개의 항목을 가지고 있으므로 전체 계산을 위해 ~ 18 일이 걸립니다. 속도를 높이는 방법이 있습니까? Theano, Tensorflow와 같은 패키지를 사용하고 GPU를 사용할 수 있습니까? 아니면 클라우드를 사용하여 프로세스를 병렬 처리 할 수 있습니까?