tSNE cuML运行缓慢/不运行但不返回错误

1 投票
1 回答
21 浏览
提问于 2025-04-14 17:12

我最近在我的Windows笔记本上使用WSL2的conda环境安装了RAPIDs。我用以下命令来安装它:

conda create --solver=libmamba -n rapids-24.02 -c rapidsai -c conda-forge -c nvidia  \
    rapids=24.02 python=3.10 cuda-version=12.0 \
    jupyterlab tensorflow pytorch

我的笔记本配备了GTX 4050的显卡和AMD Ryzen 7 7840HS的处理器。

使用下面的示例代码,一切运行得很好:

# Reduce Dimensionality with TSNE
import numpy as np
import cudf
from cuml.manifold import TSNE
# Generate fake data
np.random.seed(42)
images = np.random.rand(10000, 10000)  # 100 samples, each with 784 features (fake image data)

def tsne_2D (df):
    
    print('Starting t-SNE')
    tsne = TSNE(n_components=2, method='barnes_hut', random_state=42)
    tsne_result = tsne.fit_transform(df)

    # Perform t-SNE
    #tsne = TSNE(n_components=2, random_state=42, perplexity = 30, n_iter = 1000, learning_rate = 'auto')
    #tsne_result = tsne.fit_transform(df)
    print("Shape of tSNE result:", tsne_result.shape)

    return tsne_result

test = tsne_2D(images)

但是,当我尝试把它作为批处理代码的一部分时,它似乎不工作,而且也没有返回任何错误。我觉得我可能漏掉了什么简单的东西,但其他处理方法(比如基于PCA的方法)运行得没问题。

1 个回答

2

我学到了一些东西,想把它放在这里,以便其他人觉得有帮助。问题出在算法无法找到一个合适的解决方案。通过调整tSNE算法的一些参数,现在代码可以正常运行了。

所以,错误并不是出在代码的实现上,而是它在我的数据集上的应用不太合适。

撰写回答