tSNE cuML运行缓慢/不运行但不返回错误
我最近在我的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算法的一些参数,现在代码可以正常运行了。
所以,错误并不是出在代码的实现上,而是它在我的数据集上的应用不太合适。