安装MulticoreTSNE,Cannot find/open tsne_multicore shared library

一、情况说明

或者使用别人的环境跑代码的时候,亦或者自己使用MulticoreTSNE库,该库安装比较麻烦,即使安装成功也会在运行当中出现很多问题,比如:

Cannot find/open tsne_multicore shared library、或者fp\install-record.txt' --single-version-externally-managed --compile --install-headers 'D:\Anaconda3\envs\MCgan\Include\MulticoreTSNE' Check the logs for full command output.

等。所以这里记录了本人解决该问题的方法:

二、解决办法

1.方法一:

直接使用pip工具:

pip install MulticoreTSNE

如果出现:

ERROR: Could not build wheels for MulticoreTSNE, which is required to install pyproject.toml-based projects

那么查看是否安装了cmake,如果没有则先安装该库,推荐安装cmake==3.18.4

pip install cmake==3.18.4

安装成功之后在使用

pip install

还是出现:ERROR: Could not build wheels for MulticoreTSNE, which is required to install pyproject.toml-based projects

那么这个方法宣告失败!

2.方法二:

去pypi官网:网址

搜索 MulticoreTSNE 

下载解压:

将该文件放入难度虚拟环境当中,这个时候发现没有报错了。就看看呢个否正常运行

运行之后如果出现:Cannot find/open tsne_multicore shared library。那么该方法宣告失败!。

3.方法三:

去源代码克隆:GitHub - DmitryUlyanov/Multicore-TSNE: Parallel t-SNE implementation with Python and Torch wrappers.

git clone https://github.com/DmitryUlyanov/Multicore-TSNE.git

找到该文件下的setup.py

找到下边这一段,添加'-DCMAKE_GENERATOR_PLATFORM=x64',

if 0 != execute(['cmake',
'-DCMAKE_GENERATOR_PLATFORM=x64', <----- THIS
'-DCMAKE_BUILD_TYPE={}'.format(build_type),
'-DCMAKE_VERBOSE_MAKEFILE={}'.format(int(self.verbose)),

定位到该目录下:

cd /Multicore-TSNE

 安装:

pip install .

如果还出现报错的话,说明该方法宣告失败!

4.方法四

    if 0 != execute(['cmake',
		 '-GMinGW Makefiles',  <----------This
                     '-DCMAKE_BUILD_TYPE={}'.format(build_type),
                     '-DCMAKE_VERBOSE_MAKEFILE={}'.format(int(self.verbose)),

使用其他编译器这里使用  GMinGW编译,所以就要安装,参考:MinGW-64C/C++

然后再setup.py里面添加上面一行然后按方法三的步骤编译安装。最后:

三、提示:

千万别忽视版本的问题!!!

一定要看你参考的代码的环境的版本,尽量严格要求他的环境来不容易出错,即使方法都对,最后也会因为版本的问题出现各种错误,比如我想安装的这个包最好使用python3.6及以下的版本。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
t-SNE是一种降维算法,它通过寻找最合适的降维方式,使得在降维前后数据点之间的相似度尽可能保持一致。其中,SNE算法使用KL散度来度量相似度,具有直观性。在训练方面,t-SNE通常使用随机梯度下降(SGD)等方法进行优化,但原始文献提到这种方法训练效果不佳,因此还引入了模拟退火等方法来改进。 在使用t-SNE时,Van der Maaten使用了基于Python和Torch CFFI的包装器,对其进行了多核修改,使得t-SNE的计算速度比单核的sklearn.TSNE更快。此外,t-SNE的实现还采用了Barnes-Hut t-SNE的分步方法,首先构建用于最近邻搜索的有效数据结构,然后使用该数据结构计算概率。 t-SNE的全称是t-Distributed Stochastic Neighbor Embedding,它是对SNE算法的改进。t-SNE改进了SNE算法的两个问题,首先是解决了不对称问题,即在原始SNE中,点A附近的点B距离A很近,但B附近的点A却距离A很远。t-SNE通过使用t分布来替代高斯分布,更好地处理了这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [t-SNE及pytorch实现](https://blog.csdn.net/leida_wt/article/details/84993848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Multicore-TSNE:使用Python和Torch包装器的并行t-SNE实现](https://download.csdn.net/download/weixin_42121272/15372650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值