0

尝试使用 openTSNE 是因为它能够将嵌入转换为现有的嵌入空间。

我正在尝试保存适合/训练过的嵌入对象,以便以后可以使用它,但总是在酸洗时出错。

这是我想要实现的示例,我总是得到 PermissionError: WinError 32 The process cannot access the file because it is being used by another process: ...\AppData\Local\Temp\tmp703si9k_\tmp.ann'

    X  = np.load("X.npy")
    X_test = np.load("x_test.npy")
    
    
    affinities = openTSNE.affinity.PerplexityBasedNN(
        X,
        perplexity=500,
        n_jobs=32,
        random_state=0,
    )


    init = openTSNE.initialization.pca(X, random_state=42)


    tsne = openTSNE.TSNE(
        exaggeration=None,
        n_jobs=16,
        verbose=True,
    )
    embeddings = tsne.fit(affinities=affinities, initialization=init)
    
    
    pickle.dump(embeddings,open("embeddings.sav","wb"))


    global_embeddings = pickle.load(open("embeddings.sav","rb"))
    test_embeddings = global_embeddings.transform(x_test) 

还是我做错了什么?我也在尝试将我的嵌入保存为 numpy 数组并使用 numpy 数组作为 embeddigns 重新初始化 openTSNE.TSNEEmbedding 类对象,但是我将需要一个相似对象以及我也无法腌制的对象。问题是什么?或者什么是解决这个问题的最佳解决方案?

4

0 回答 0