LargeVis安裝與使用

2021-09-11 21:48:14 字數 2461 閱讀 7680

largevis是一種用於大規模圖視覺化的布局演算法,其在高維資料視覺化、網路視覺化上具有良好的表現,由於學習需要進行了一些相關探索,記錄如下。

我的作業系統是64位win10,這裡僅列出readme中關於windows環境下的描述

####windows to compile the source files, use microsoft visual studio, where you need to set the boost path.

其描述比較簡略,但其中重要的幾點包括:

boost庫是乙個可移植、提供源**的c++庫,作為標準庫的後備,是c++標準化程序的開發引擎之一。由於專案中用到了大量其中的相關庫函式,因而必須要先配置好boost。

boost_1_69_0.zip
安裝的具體步驟可以參考

要記住新增環境變數。

boost與vs環境都配好後,按道理應該是可以執行了。

首先我們先按照readme中的要求修改boost路徑,具體檔案即專案解壓出來後的windows目錄下的setup.py,將之前安裝boost時的兩個路徑替換進來即可。

接著按要求在windows這個目錄下開啟命令列,執行

python setup.py install
不過接著就報了很多錯誤,究其原因是由於這個專案中是基於python2.7的,我的電腦上python安裝的是3.7,導致有些api早已不是原先的名字了,我們需要對某些地方進行一些修改,具體如下:

在largevismodule.cpp中

real x = atof(pystring_asstring(pyobject_str(pylist_getitem(vec, j))));
改為

real x = atof(pybytes_asstring(pyobject_str(pylist_getitem(vec, j))));

pymodinit_func initlargevis()

改為

static struct pymoduledef largevismodule =

;pymodinit_func

pyinit_largevis(void)

直接用example中的資料集測試即可,readme中提供了一些用法說明:

for python,

python largevis_run.py -input -output
besides the two parameters, other optional parameters include:

對於python,使用格式:

python largevis_run.py -input -output
-input 輸入檔案 

-output 輸出檔案

其他可選項: 

-fea 指定輸入檔案是高維特徵向量(1)或者網路(0),預設為1 

-threads 執行緒數,預設為8 

-outdim 表示輸出的低維的視覺化維度數,預設為2 

-samples 圖形布局的邊緣樣本數量,預設為 data size / 100 (million) 

-prop 鄰居傳播次數,與k-nng構造有關,一般少於3,預設為3 

-alpha 定義學習率,梯度下降用,預設為1.0 

-trees 構造k-nng隨機對映樹的個數,一般50足夠處理很大的資料集,除非資料集超過5 百萬,預設根據資料量來定。 

-neg 負取樣個數,預設為5 

-neigh k-nng的鄰居數 , which is usually set as three times of perplexity,預設為150 

-gama 分配給負邊緣的權重,預設為7 

-prep 在knn中決定邊緣權重的值(perplexity)預設為50

對於示例中的minst資料集,

python largevis_run.py -input mnist_vec784d.txt -output mnist_vec2d.txt -threads 16

python plot.py -input mnist_vec2d.txt -label mnist_label.txt -output mnist_vec2d_plot

即可得到輸出影象

windows下安裝largeVis踩的坑

系統 windows10 boost版本 1.7.0 工具 visual studio 2019 參考教程 按照上面的教程進行的操作,直到boost安裝都很成功,但是下一步對修改後的largevis進行編譯的時候就出錯。報錯的含義大概就是打不開檔案boost system vc142 mt s x6...

pythonpip安裝與使用 pip安裝與使用

簡介 檢驗pip是否安裝 python3.x版本命令 pip3 version python2.x版本命令 pip version 若尚未安裝,安裝方法 curl o get pip.py 執行安裝指令碼 sudo python get pip.py pip常用命令 顯示版本和路徑 pip vers...

Struts安裝與使用

struts可以執行在任何乙個支援jsp1.2和servlet2.3的web container中struts將所有的請求提交到同乙個中心控制器,org.apache.struts.action.actionservlet 類 web.xml配置 servlet name action servle...