當前位置:首頁 » 操作系統 » cmakelinux教程

cmakelinux教程

發布時間: 2023-01-03 21:06:54

linux下安裝mysql8.0,沒有bin目錄

你先確認下是否bin下真的有mysql文件,如果有,那麼試試./mysql -u root或者協商mysql的絕對路徑試試
也可以對mysql做一個鏈接, ln -s mysql的絕對路徑 /usr/bin/,這樣就可以再任何目錄使用mysql命令了

② linux下cmake安裝

我剛從坑裡爬出來,別看網上亂七八糟的教程。
直接sudo apt install cmake就可!!!
如果報錯就按報錯解決,一般存在的問題就是apt更新一下就行,或者其他一些小問題。

③ 如何到載百度網議

不久之前,機器之心聯合網路推出 PaddlePaddle 專欄,為想要學習這一平台的技術人員推薦相關教程與資源。在解析過PaddlePaddle框架之後,從這篇文章開始上手,安裝 PaddlePaddle。
目錄
環境
Windows 系統的安裝
在 Windows 上安裝 Docker 容器在 Windows 上安裝 Ubuntu
使用 pip 安裝
使用 Docker 安裝
源碼編譯生成安裝包
在本地編譯生成安裝包在 Docker 編譯生成安裝包
編譯 Docker 鏡像
測試安裝環境
最後提示
項目代碼
參考資料
環境
系統:Ubuntu 16.0.4(64 位)處理器:Intel(R) Celeron(R) CPU內存:8G
Windows 系統的安裝
PaddlePaddle 目前還不支持 Windows,如果讀者直接在 Windows 上安裝 PaddlePaddlePaddle 的話,就會提示沒有找到該安裝包。如果讀者一定要在 Windows 上工作的話,筆者提供兩個建議:一、在 Windows 系統上使用 Docker 容器,在 Docker 容器上安裝帶有 PaddlePaddle 的鏡像;二、在 Windows 系統上安裝虛擬機,再在虛擬機上安裝 Ubuntu。
在 Windows 上安裝 Docker 容器
首先下載 Docker 容器的工具包 DockerToolbox,筆者使用這個安裝包不僅僅只有 Docker,它還包含了 VirtualBox 虛擬機,使用者工具包我們就不用單獨去安裝 VirtualBox 虛擬機了,DockerToolbox 的官網下載地址:https://docs.docker.com/toolbox/toolbox_install_windows/
下載之後,就可以直接安裝了,雙擊安裝包,開始安裝

選擇安裝路徑,筆者使用默認的安裝路徑

然後安裝所依賴的軟體,因為筆者之前在電腦上已經安裝了 git,所以在這里就不安裝了,其他都要勾選

這一步不用修改什麼,讓程序為我們創建一個桌面快捷鍵

最後就可以安裝了,等待一小段時間即可

到這里就安裝完成了

安裝完成之後,如果直接啟動 Docker 的話,有可能可能會卡在這里,因為還有下載一個 boot2docker.iso 鏡像,網速比較慢的話就可能一直卡在這里。所以我們還要鏡像下一步操作

Running pre-create checks...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v17.12.1-ce
(default) Downloading C:\Users\15696\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v17.12.1-ce/boot2docker.iso...
在下載 DockerToolbox 的時候,這個工具就已經帶有 boot2docker.iso 鏡像了。並且存在 DockerToolbox 安裝的路徑上,筆者的路徑是:
C:\Program Files\Docker Toolbox\boot2docker.iso
我們把這個鏡像復制到用戶目錄\.docker\machine\cache\,如筆者的目錄如下:

C:\Users\15696\.docker\machine\cache\
復制完成之後,雙擊桌面快捷方式 Docker Quickstart Terminal,啟動 Docker,命令窗口會輸出以下信息:

Running pre-create checks...
Creating machine...
(default) Copying C:\Users\15696\.docker\machine\cache\boot2docker.iso to C:\Users\15696\.docker\machine\machines\default\boot2docker.iso...
(default) Creating VirtualBox VM...
(default) Creating SSH key...
(default) Starting the VM...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to create a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Found a new host-only adapter: "VirtualBox Host-Only Ethernet Adapter #3"
(default) Windows might ask for the permission to configure a network adapter. Sometimes, such confirmation window is minimized in the taskbar.
(default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.

(default) Waiting for an IP...
最後看到 Docker 的 logo 就表示成功安裝 Docker 容器了

## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
Start interactive shell
15696@ MINGW64 ~
$
到這就可以使用 Docker 來安裝 PaddlePaddle 了,具體請看本文章中關於 Docker 使用 PaddlePaddle 部分
在 Windows 上安裝 Ubuntu
在 Windows 上在 Ubuntu 就要先安裝虛擬機,虛擬機有很多,筆者使用的是開源的 VirtualBox 虛擬機,VirtualBox 的官網:https://www.virtualbox.org/
安裝完成 VirtualBox 虛擬機之後,進入到 VirtualBox 虛擬機中點擊新建,創建一個系統

選擇分配的內存,我這里只是分配了 2G,如果正式使用 PaddlePaddle 訓練模型,這遠遠不夠,讀者可以根據需求分配內存

創建一個虛擬硬碟

選擇默認的 VDI 硬碟文件類型

這里最好是選擇動態分配硬碟,這樣虛擬機會根據實際佔用的空間大小使用電腦本身的磁碟大小,這樣會減少電腦空間的佔用率的。如果是固定大小,那麼創建的虛擬機的虛擬硬碟一開始就是用戶設置的大小了。

這里就是選擇虛擬硬碟大小的,最後分配 20G 以上,筆者分配 30G,應該夠用。

然後選擇剛才創建的 Ubuntu 系統,點擊設置,這系統中取消勾選軟碟機,然後點擊存儲,選擇 Ubuntu 鏡像,筆者使用的是 64 位 Ubuntu 16.04 桌面版的鏡像

最後就可以啟動安裝 Ubuntu 了。選擇我們創建的 Ubuntu 系統,點擊啟動,進入到開始安裝界面,為了方便使用,筆者選擇中文版的

為了安裝之後不用在安裝和更新應用,筆者勾選了安裝 Ubuntu 時下載更新,這樣在安裝的時候就已經更新應用了

然後是選安裝的硬碟,因為我們使用的自己創建的整一個硬碟,所以我們可以直接選擇青春整個硬碟並安裝 Ubuntu,這里就不用考慮分區和掛載問題了

選擇所在的位置,這沒什麼要求的,筆者隨便選擇一個城市

然後是選擇鍵盤的布局,通常的鍵盤布局都是英語(美國)

創建 Ubuntu 的用戶名稱和密碼

最後就是安裝了,這個安裝過程可能有點久,耐心等待

安裝完成之後就可以在 Windows 系統上使用 Ubuntu 系統了,我們再使用 Ubuntu 來學習和使用 PaddlePaddle 做深度學習了。最好安裝完成之後,把在存儲中設置的 Ubuntu 鏡像移除

在本篇文章之後部分都是在 Ubuntu 上操作,我們都可以使用 Ubuntu 這虛擬機來完成。
如果讀者使用的是 Windows 10,可以使用 Windows 系統自帶的 Linux 子系統,安裝教程可以看我之前的文章 Windows10 安裝 Linux 子系統。
使用 pip 安裝
如果你還沒有在 pip 命令的話,首先要安裝 pip,要確保安裝的 pip 版本是大於 9.0.0 的,否則可能無法安裝 paddlepaddle。
安裝 pip 命令如下:

sudo apt install python-pip
安裝之後,還有看一下 pip 的的版本 pip --version,如果版本低於 9.0.0,那要先升級 pip,先要下載一個升級文件,命令如下:

wget https://bootstrap.pypa.io/get-pip.py
下載完成之後,可以使用這個文件安裝最新的 pip 了

python get-pip.py
安裝 pip 就可以動手安裝 paddlepaddle 了。如果許可權不夠,請在 root 下執行命令
pip install paddlepaddle
現在就測試看看 paddlepaddle 有沒有,在 python 的命令終端中試著導入 paddlepaddle 包:

import paddle.v2 as paddle
如果沒有報錯的話就證明 paddlepaddle 安裝成功了。
使用 Docker 安裝
為什麼要使用 Docker 安裝 paddlepaddle 呢,Docker 是完全使用沙箱機制的一個容器,在這個容器安裝的環境是不會影響到本身系統的環境的。通俗來說,它就是一個虛擬機,但是它本身的性能開銷很小。在使用 Docker 安裝 paddlepaddle 前,首先要安裝 Docker,通過下面的命令就可以安裝了:

sudo apt-get install docker
安裝完成之後,可以使用 docker --version 查看 Docker 的版本,如果有顯示,就證明安裝成功了。可以使用 docker images 查看已經安裝的鏡像。
一切都沒有問題之後,就可以用 Docker 安裝 paddlepaddle 了,命令如下:

docker pull docker.paddlepaddlehub.com/paddle
在這里不得不說的是,這個安裝過程非常久,也許是筆者的帶寬太小了。安裝完成後,可以再使用 docker images 命令查看安裝的鏡像,應該可以 看到類似這樣一個鏡像,名字和 TAG 會相同,其他信息一般不同

docker.paddlepaddlehub.com/paddle latest 2b1ae16d846e 27 hours ago 1.338 GB
從源碼編譯生成安裝包
我們的硬體環境都有很大的不同,官方給出的 pip 安裝包不一定是符合我們的需求,比如筆者的電腦是不支持 AVX 指令集的,在官方中沒找到這個的安裝包(也行現在已經有了),所以我們要根據自己的需求來打包一個自己的安裝包。
在本地編譯生成安裝包
1. 安裝依賴環境
在一切開始之前,先要安裝好依賴環境,下面表格是官方給出的依賴環境

1.1 安裝 GCC
一般現在的 Ubuntu 都是高於個版本了,可以使用 gcc --version 查看安裝的版本。比如筆者的是 4.8.4,如果你的是版本是低於 4.8.2 的就要更新一下了

sudo apt-get install gcc-4.9
1.2 安裝 CMake
先要從官網下 CMake 源碼
wget https://cmake.org/files/v3.8/cmake-3.8.0.tar.gz
解壓源碼

tar -zxvf cmake-3.8.0.tar.gz
依次執行下面的代碼

# 進入解壓後的目錄
cd cmake-3.8.0
# 執行當前目錄的 bootstrap 程序
./bootstrap
# make 一下
make
# 開始安裝
sudo make install
查看是否安裝成功,cmake --version,如果正常顯示版本,那已經安裝成功了。
1.3 安裝 pip
關於安裝 pip9.0.0 以上的版本,在上面的使用 pip 安裝部分已經講了,這里就不在熬述了
1.4 安裝 numpy
安裝 numpy 很簡單,一條命令就夠了

sudo apt-get install python-numpy
順便多說一點,matplotlib 這個包也經常用到,順便安裝一下

sudo apt-get install python-matplotlib
1.5 安裝 SWIG
執行下面代碼安裝 SWIG,安裝成功之後,使用 swig -version 檢查安裝結果

sudo apt-get install -y git curl gfortran make build-essential automake swig libboost-all-dev
1.6 安裝 Go
官方說可選擇,那看情況吧,如果像安裝安裝吧,筆者順便安裝了,就一條代碼的事情,老規則 go version

sudo apt-get install golang
到這里,依賴環境就已經安裝好了,准備安裝 paddlepaddle。
2. 首先要在 GitHub 上獲取 paddlepaddle 源碼

git clone https://github.com/PaddlePaddle/Paddle.git
3. 然後輸以下命令

# 進入剛下載的 Paddle 裡面
cd Paddle
# 創建一個 build 文件夾
mkdir build
# 進入 build 文件夾里
cd build
# 這就要選好你的需求了,比如筆者沒有使用 GPU,不支持 AVX,為了節省空間,我把測試關閉了,這樣會少很多空間。最後不要少了..
cmake .. -DWITH_GPU=OFF -DWITH_AVX=OFF -DWITH_TESTING=OFF
# 最後 make,生成你想要的安裝包,這個可能很久, 一定要有耐心
make
經過長久的 make 之後,終於生成了我們想要的安裝包,它的路徑在 Paddle/build/python/dist 下,比如筆者在該目錄下有這個安裝包 paddlepaddle-0.11.0-cp27-cp27mu-linux_x86_64.whl,你的命名可能不是這個。之後就可以安裝了,使用 pip 安裝:

# 請切入到該目錄
cd build/python/dist/
# 每個人的安裝包名字可能不一樣。如果許可權不夠,請在 root 下執行命令

pip install paddlepaddle-0.11.0-cp27-cp27mu-linux_x86_64.whl
這個我們就已經安裝了 paddlepaddle,現在就測試看看 paddlepaddle 有沒有安裝成功了,在 python 的命令終端中試著導入 paddlepaddle 包:

import paddle.v2 as paddle
如果沒有報錯的話就證明 paddlepaddle 安裝成功了。
在 Docker 編譯生成安裝包
使用 Docker 就輕松很多了,有多輕松,看一下便知 。
1. 首先要在 GitHub 上獲取 paddlepaddle 源碼

git clone https://github.com/PaddlePaddle/Paddle.git
2. 切入到項目的根目錄下

cd Paddle
3. 生成安裝包
下面一行代碼,提醒一下,這個過程非常長,一定要有耐心,順便把編譯測試關了,減少空間

docker run -it -v $PWD:/paddle -e "WITH_GPU=OFF" -e "WITH_AVX=OFF" -e "-DWITH_TESTING=OFF" docker.paddlepaddlehub.com/paddle:latest-dev bash -x /paddle/paddle/scripts/docker/build.sh
同樣會在 Paddle/build/python/dist 下生成一個安裝包,這對比在本地生成的安裝包,是不是要簡單很多,沒錯這就是 Docker 強大之處,所有的依賴環境都幫我們安裝好了,現在只要安裝這個安裝包就行了:

# 請切入到該目錄
cd build/python/dist/
# 每個人的安裝包名字可能不一樣。如果許可權不夠,請在 root 下執行命令
pip install paddlepaddle-0.11.0-cp27-cp27mu-linux_x86_64.whl
同樣我們要測試看看 paddlepaddle 有沒有安裝成功了,在 python 的命令終端中試著導入 paddlepaddle 包:

import paddle.v2 as paddle
如果沒有報錯的話就證明 paddlepaddle 安裝成功了。
編譯 Docker 鏡像
如果你比較喜歡使用 Docker 來運行你的 paddlepaddle 代碼,但是有沒有你想要的鏡像,這是就要自己來製作一個 Docker 鏡像了,比如筆者的電腦是不支持 AVX 指令集的,還只有 CPU,那麼我就要一個不用 AVX 指令集和使用 CPU 訓練的鏡像。好吧,我們開始吧
1. 我們要從 GitHub 下載源碼:

git clone https://github.com/PaddlePaddle/Paddle.git
2. 安裝開發工具到 Docker image 里

# 切入到 Paddle 目錄下
cd Paddle
# 下載依賴環境並創建鏡像,別少了最後的.

docker build -t paddle:dev .
有可能它不能夠命名為 paddle:dev,我們可以對他從重新命名,ID 要是你鏡像的 ID

# docker tag <鏡像對應的 ID> <鏡像名:TAG>
例如:docker tag 1e835127cf33 paddle:dev
3. 編譯
# 這個編譯要很久的,請耐心等待

docker run --rm -e WITH_GPU=OFF -e WITH_AVX=OFF -v $PWD:/paddle paddle:dev
安裝完成之後,使用 docker images 查看剛才安裝的鏡像。
測試安裝環境
我們就使用官方給出的一個例子,來測試我們安裝 paddlepaddle 真的安裝成功了
1. 創建一個記事本,命名為 housing.py,並輸入以下代碼:

import paddle.v2 as paddle
# Initialize PaddlePaddle.
paddle.init(use_gpu=False, trainer_count=1)
# Configure the neural network.
x = paddle.layer.data(name='x', type=paddle.data_type.dense_vector(13))
y_predict = paddle.layer.fc(input=x, size=1, act=paddle.activation.Linear())
# Infer using provided test data.
probs = paddle.infer(
output_layer=y_predict,
parameters=paddle.dataset.uci_housing.model(),
input=[item for item in paddle.dataset.uci_housing.test()()])
for i in xrange(len(probs)):
print 'Predicted price: ${:,.2f}'.format(probs[i][0] * 1000)
2. 執行一下該代碼
在本地執行代碼請輸入下面的命令
python housing.py
在 Docker 上執行代碼的請輸入下面的代碼

docker run -v $PWD:/work -w /work -p 8899:8899 docker.paddlepaddle.org/paddle python housing.py
-v 命令是把本地目錄掛載到 docker 鏡像的目錄上,-w 設置該目錄為工作目錄,-p 設置埠號,使用到的鏡像是在使用 Docker 安裝部分安裝的鏡像 docker.paddlepaddle.org/paddle
3. 終端會輸出下面類似的日誌

I0116 08:40:12.004096 1 Util.cpp:166] commandline: --use_gpu=False --trainer_count=1
Cache file /root/.cache/paddle/dataset/fit_a_line.tar/fit_a_line.tar not found, downloading https://github.com/PaddlePaddle/book/raw/develop/01.fit_a_line/fit_a_line.tar
[==================================================]
Cache file /root/.cache/paddle/dataset/uci_housing/housing.data not found, downloading https://archive.ics.uci.e/ml/machine-learning-databases/housing/housing.data
[==================================================]
Predicted price: $12,316.63
Predicted price: $13,830.34
Predicted price: $11,499.34
Predicted price: $17,395.05
Predicted price: $13,317.67
Predicted price: $16,834.08

Predicted price: $16,632.04
如果沒有成功運行該代碼,報錯信息如下,說明安裝的 paddlepaddle 版本過低,請安裝高版本的 paddlepaddle

I0116 13:53:48.957136 15297 Util.cpp:166] commandline: --use_gpu=False --trainer_count=1
Traceback (most recent call last):
File "housing.py", line 13, in <mole>
parameters=paddle.dataset.uci_housing.model(),

AttributeError: 'mole' object has no attribute 'model'
最後提示
有很多學習者會出現明明安裝完成 PaddlePaddle 了,但是在 PaddlePaddle 的時候,在初始化 PaddlePaddle 這一行代碼出錯

paddle.init(use_gpu=False, trainer_count=1)
這個多數是讀者的電腦不支持 AVX 指令集,而在 PaddlePaddle 的時候,安裝的是支持 AVX 指令集的版本,所以導致在初始化 PaddlePaddle 的時候報錯。所以在安裝或者編譯 PaddlePaddle 安裝包時,要根據讀者電腦本身的情況,選擇是否支持 AVX 指令集。查看電腦是否支持 AVX 指令集,可以在終端輸入以下命令,輸出 Yes 表示支持,輸出 No 表示不支持。
if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi
項目代碼
GitHub 地址:https://github.com/yeyupiaoling/LearnPaddle
參考資料
http://paddlepaddle.org/
https://pip.pypa.io/en/stable/
http://www.runoob.com/
http://www.linuxidc.com/Linux/2016-12/138489.htm
https://www.jianshu.com/p/c6264cd5f5c7

④ 新手如何學習Linux

新手學習建議找准學習方向報班學習。

Linux主體分為「運維」與「開發」兩個方向,無論你是Linux相關從業者,還是說愛好都可以歸類到這里,其中「運維」一般是初學者或者轉行人員的首選,而Linux運維主要是對伺服器穩定、性能與安全方面的維護和調試。

實際上Linux入門並不困難,只要具備Linux基礎,讀懂Linux的命令格式,大多數的服務架構都是可以按照文檔部署出來。當然做Linux開發,個人建議去參加培訓學習更有效率,如果報班學習則大概需要4-6個月時間。

學習主要內容有:

1)網路基礎與linux系統的管理

2)優化及高可用技能

3)虛擬化與雲平台技術

4)開發運維

畢業後可從事的工作有:

1)Linux運維工程師

2)資料庫工程師

3)雲計算運維工程師

4)自動化運維工程師

5)雲計算架構工程師等

互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。

想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。

祝你學有所成,望採納。

⑤ 萬佳安監視器購買了雲伺服器怎麼使用

有的同學不知道有了伺服器以後怎麼耍,小編這里給大家簡單寫寫,希望對新人有幫助。

一、簡單使用伺服器
獲取雲伺服器...

獲取以後,我們可以登錄阿里雲控制台的提貨券管理找到剛才買的伺服器:

系統選擇上,我們搞java的一般選Centos就好了(按需選擇):

一般來說,我們買了伺服器都是通過SSH連接去操作伺服器的,我在Windows上一般使用Xshell去連接伺服器的。(Xshell可以在公眾號下回復「99」得到下載鏈接)

步驟為以下:

首先,我們先在Xshell生成公鑰
在阿里雲控制台創建密鑰對(選擇配置項;導入已有的密鑰對)
輸入剛才在Xshell生成的公鑰信息
在後台重啟阿里雲伺服器
完了以後,我們就可以在Xshell上登錄阿里雲伺服器了(用戶名為root)
生成公鑰:

最終得到公鑰的信息:

在阿里雲後台創建密鑰對:

重啟伺服器:

Xshell登錄:

Xshell的一些配置:

登錄成功:

詳細的教程(必看):

https://blog.csdn.net/longgeaisisi/article/details/78680180
二、使用Linux系統
上面我們已經可以通過Xshell去連接雲伺服器了,而Centos是Linux系統,首先我們要學習一些Linux命令才能操作。

小編之前發布過幾篇文章,如果不懂Linux命令的同學可以跟著練練,小編認為可以解決日常的使用了(如果一些想要做的操作,又不知道怎麼弄,搜一下程序猿猩球往期內容就好了)

2.1 下載JDK和MySQL/Tomcat

JDK8下載:

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

MySQL下載:

https://dev.mysql.com/downloads/mysql/5.6.html#downloads

現在下載JDK和MySQL需要賬號和密碼;可以使用這個:

賬號:[email protected]
密碼:OracleTest1234
下載Tomcat:

https://tomcat.apache.org/download-80.cgi

在Windows安裝完了以後,我們要將Windows的文件傳輸到我們的遠程伺服器上。在Xshell中點擊下圖的位置:

找到我們的文件,傳輸就好了;

2.3安裝JDK

完了以後,輸出Java版本看一下:

2.4 安裝MySQL

安裝所需的環境

安裝bison(我安裝的是2.5.1的版本)

安裝gc++環境:

安裝cmake(我安裝的是3.15.4的版本)

解壓剛剛下載的Mysql安裝包(我是按照它的指示就在root的目錄下安裝)

使用cmake安裝

make 和安裝

配置mysql

創建mysql用戶(但是不能使用mysql賬號登陸系統)

修改許可權

切換到mysql目錄

設置許可權等東西

將mysql的配置文件拷貝到/etc

修改my.cnf

⑥ Linux下面cmake命令意義cmake -D CMAKE_BUILD_TYPE=RELEASE

"怎麼知道在源代碼目錄中編譯的呢?" 這個是因為後邊的那 .. 的緣故, .. 表示上層目錄. 那.. 就是<path to the OpenCV source directory>

-D 相當於就是定義, -D 可以理解為告訴cmake 後邊我要定義一些參數了, 你每定義一個就在前邊加上-D就是了
CMAKE_BUILD_TYPE 這種東西往往是在CMakeList.txt 中定義的, 這個是你要編譯的類型, 一般的選擇有debug,release, 但是不確定

CMAKE_INSTALL_PREFIX 這個是安裝路徑.

⑦ Ubuntu 16.04LTS echo -e '\a'沒有報警聲

1.安裝Linux系統,本文只介紹Ubuntu16.04LTS下的環境搭建。因此我不在這里詳述Linux系統的安裝方法,有需求的朋友可以問問度娘經驗。
2.編譯環境需要用gcc-4.5以上的,而且最好把C++和CUDA也安裝好。另外,代碼作者在倉庫說明上建議GPU的兼容性在2.0以上,而我的GT620M剛好是2.1。因此我順便安裝好相應的編譯器和驅動,具體的安裝方法我在這不做說明,請看我的另一篇博客。
3.安裝所有的Boost庫。
4.安裝Google的Protocol Buffers。
5.安裝Opencv 2.4系列,3.0系列版本不支持。另外,如果考慮時間上的優化,作者強烈建議編譯OpenCV的時候帶上編譯選項-ffast-math -funroll-loops -march=native從而指定使用CUDA,並使能SIMD指令集優化。
6.安裝libSDL,libjpeg, libpng。
7.安裝CMake(>=2.4.3)。
後文主要對以上的3、4、6項准備工作進行詳解。至於第7項准備一般是系統自帶好了,如果還真沒帶的話,可以考慮apt一個就行。而第5項准備工作在網上有很多資料,我習慣是用cmake-gui工具來編譯Opencv,對這個有興趣的朋友可以到網上查找相關材料。如果這倆樣真搞不定的話,可以評論告訴我,我適當抽時間寫個補充說明,下面開始進入主要內容。
Boost庫的安裝
Boost的安裝其實我主要是參考這篇博客
1.下載Boost 的源碼包,下載地址:
https://sourceforge.net/projects/boost/files/boost/1.58.0
如果這個源碼地址過期,還可以到下面的Boost的官方網站查找
http://www.boost.org/
2.在下載boost的同時,你可以安裝下面四個boost的依賴庫
apt-get install mpi-default-dev libicu-dev python-dev libbz2-dev

#安裝mpi庫
#支持正則表達式的UNICODE字元集
#需要python的話12345

3.下載得到boost1_58_0.tar.bz2後,切換到文件所在目錄,終端輸入下面命令解壓得到boost_1_58_0
tar -jxvf boost_1_58_0.tar.bz21

4.(可選)修改user-config.jam文件。在boost/tools下用下面命令搜索user-config.jam
find . -name user-config.jam1

打開user-config.jam文件,並在最後添加一行代碼
using mpi ; #注意mpi後面有一個空格1

值得一提的是,Message Passing Interface (MPI) 庫用於分布式計算中的消息傳遞,可以考慮弄一下,畢竟這步花不了太多時間。
5.編譯Boost庫,輸入下面指令
sudo ./bootstrap.sh1

得到b2和bjam,在執行下面指令
sudo ./b2 -a -sHAVE_ICU=1
#-a參數,代表重新編譯,-sHAVE_ICU=1代表支持Unicode/ICU12

然後就可以have a cup of coffee to take a rest
6.編譯完成後,輸入下面命令安裝boost庫
sudo ./b2 install1

安裝libSDL
用下列指令安裝libSDL庫
sudo apt-get install libsdl1.2-dev1

安裝protobuf庫
sudo apt-get install libprotobuf-dev libprotoc-dev python-protobuf protobuf-compiler1

編譯Doppia
STEP1:配置環境變數與編譯選項
在編譯各種程序之前,我首先打開並編輯common_settings.cmake文件,添上一些自己機器的配置信息,下面是我的配置信息僅作參考。
....
elseif(${HOSTNAME} STREQUAL "my-Apple-computer")
# change the_name_of_your_machine to what /bin/hostname returns

message(STATUS "Using my-Apple-computer compilation options")

# start with an empty section, and see what fails as you go through the re adme.text instructions

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES")

set(opencv_INCLUDE_DIRS "/usr/local/opencv2/include")
set(opencv_LIBRARY_DIRS "/usr/local/opencv2/lib")

option(USE_GPU "Should the GPU be used ?" TRUE)
set(CUDA_BUILD_CUBIN OFF)
set(local_CUDA_LIB_DIR "/usr/local/cuda/lib64")
set(cuda_LIBS "")

set(Boost_DIR "/usr/local")
set(Boost_LIBRARY_DIRS "/usr/local/lib")
set(Boost_INCLUDE_DIRS "/usr/local/include/boost")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT=1")然後,運行腳本./generate_protocol_buffer_files.sh,輸出以下信息
+ echo Generating objects detection files...
Generating objects detection files...
+ cd src/objects_detection/
+ protoc --cpp_out=./ detector_model.proto detections.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: detector_model.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: detections.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ protoc --python_out=../../tools/objects_detection/ detector_model.proto detections.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: detector_model.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: detections.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ cd ../..
+ cd src/stereo_matching/ground_plane/
+ protoc --cpp_out=./ plane3d.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: plane3d.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ protoc --python_out=../../../tools/stixels_evaluation plane3d.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: plane3d.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ cd ../../..
+ cd src/stereo_matching/stixels/
+ protoc --cpp_out=./ -I. -I../ground_plane --include_imports stixels.proto ground_top_and_bottom.proto
--include_imports only makes sense when combined with --descriptor_set_out.
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: stixels.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: ground_top_and_bottom.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: plane3d.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ protoc --python_out=../../../tools/stixels_evaluation -I. -I../ground_plane --include_imports stixels.proto ground_top_and_bottom.proto
--include_imports only makes sense when combined with --descriptor_set_out.
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: stixels.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: ground_top_and_bottom.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: plane3d.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ cd ../../..
+ cd src/video_input/calibration
+ protoc --cpp_out=./ calibration.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: calibration.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ cd ../../..
+ cd src/helpers/data
+ protoc --cpp_out=./ DataSequenceHeader.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: DataSequenceHeader.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ protoc --python_out=../../../tools/data_sequence DataSequenceHeader.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: DataSequenceHeader.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ cd ../../..
+ cd src/helpers
+ cd ../..
+ cd src/tests/data_sequence/
+ protoc --cpp_out=./ TestData.proto
[libprotobuf WARNING google/protobuf/compiler/parser.cc:546] No syntax specified for the proto file: TestData.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
+ cd ../../..
+ echo End of game. Have a nice day!
End of game. Have a nice day!

STEP2:編譯CPU單跑代碼
根據官方教程,我們首先編譯
doppia/src/applications/ground_estimation
這是一個能夠保證咱們cmake和c++編譯沒問題的簡單驗證程序。
1.對於不同程序編譯我們需要進入不同的目錄下:
cd doppia/src/applications/ground_estimation1

2.運行cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo . && make
如果你確定這次編譯一定成功,而且你的機器有足夠內存,你可以考慮使用cmake . && make -j5來加速編譯。
3.對於已經編譯成功過的程序,可以直接執行下面的指令。
cmake . && make -j2 && ./ground_estimation -c test.config.ini1

如果ground_estimation編譯成功以後,我們就可以開始編譯ground_estimation
$ cd doppia/src/applications/stixel_world
$ cmake . && make -j2 && OMP_NUM_THREADS=4 ./stixel_world -c fast.config.ini --gui.disable false
$ cmake . && make -j2 && OMP_NUM_THREADS=4 ./stixel_world -c fast_uv.config.ini --gui.disable false123

STEP3:編譯測試代碼
1.$ cd doppia/src/applications/objects_detection
2.cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo . && make -j2
3.運行代碼
$ cmake . && make -j2 && OMP_NUM_THREADS=4 ./objects_detection -c cvpr2012_very_fast_over_bahnhof.config.ini --gui.disable false1

其實STEP1編過之後,下來的問題都不是很大了,如果來到這一步STEP3也很成功的話,就說明你這個環境配置已經沒太大問題了。所以,後面根據作者在的編譯說明繼續執行step4和step5就好了。
總結
長話短說,這個配置成功與否在於准備工作的boost與protobuf庫的安裝。另外,最重要的是comom_settings.cmake的配置,這個配置文件編輯如果好了,基本上後面是事半功倍的。
(FIN)

⑧ 在kali linux 系統中如何安裝gnuradio

10kali 1.09安裝gnuradio,配置軟體無線電教程

GNURadio可謂是開源界無線電愛好者的」軍火庫」。看名字可能你就猜到了,GNURadio是開源的,並且使用GPL協議開源。

項目主頁和介紹:(可能被牆了,自行翻牆)

http://gnuradio.org/redmine/projects/gnuradio/wiki

安裝GNURadio有三種方式:(1)自動化安裝腳本安裝(2)手動編譯安裝

在支持的情況下盡量使用自動化安裝腳本進行安裝,原因是各linux發行版更新源中的GNURadio版本相對較老,可能會有相關的依賴問題。且使用自動化安裝腳本可以使用到最新版本的GNURadio,並且省去了手動編譯安裝的麻煩。

(1)使用自動化編譯腳本進行安裝(推薦)

在/home文件夾內新建一個src文件夾存放安裝腳本源碼:

mkdir src

進入存放源碼與腳本的文件夾:

cd src

下載自動化安裝腳本並執行:

wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio

安裝過車給中會提示用戶是否執行腳本,點擊y即可,然後請求root許可權等,請根據提示操作,另外編譯的時間較長,可能會耗費數小時,請耐心等待。

如果發現無法下載請使用VPN或者其他代理翻牆。

kali1.06,1.09均不支持腳本安裝。需要手動編譯安裝。

其餘Linux發行版可先測試腳本是否支持,再選擇手動編譯的方式。

(2)手動編譯安裝 ,手動編譯的順序是
  1. 安裝各種依賴包
  2. 安裝gnuradio
  3. hackrf / rtlsdr
  4. gr-osmosdr
安裝依賴包

sudo apt-get -y install build-essential cmake git-core autoconf automake libtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0

1

sudo apt-get -y install build-essential cmake git-core autoconf automakelibtool g++ python-dev swig pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0

編譯GNURadio

git clone --progress http://gnuradio.org/git/gnuradio.git cd gnuradio mkdir build cd build cmake ../ make -j4 #4代表用4核編譯 sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone --progress http://gnuradio.org/git/gnuradio.git

cd gnuradio

mkdir build

cd build

cmake ../

make -j4 #4代表用4核編譯

sudo make install

sudo ldconfig

編譯hackrf

git clone --progress http://github.com/mossmann/hackrf.git cd hackrf/host mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone --progress http://github.com/mossmann/hackrf.git

cd hackrf/host

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON

make

sudo make install

sudo ldconfig

編譯rtlsdr(可選)

git clone --progress git://git.osmocom.org/rtl-sdr cd rtl-sdr mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON sudo make install sudo ldconfig

1

2

3

4

5

6

7

git clone --progress git://git.osmocom.org/rtl-sdr

cd rtl-sdr

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON

sudo make install

sudo ldconfig

編譯gr-osmosdr

git clone --progress git://git.osmocom.org/gr-osmosdr cd gr-osmocom mkdir build cd build cmake ../ make sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone --progress git://git.osmocom.org/gr-osmosdr

cd gr-osmocom

mkdir build

cd build

cmake ../

make

sudo make install

sudo ldconfig

編譯gqrx(可選)

git clone https://github.com/csete/gqrx.git cd gqrx mkdir build cd build qmake ../gqrx.pro make sudo make install sudo ldconfig

1

2

3

4

5

6

7

8

git clone https://github.com/csete/gqrx.git

cd gqrx

mkdir build

cd build

qmake ../gqrx.pro

make

sudo make install

sudo ldconfig

編譯完成後

你可以嘗試以下命令

  • osmocom_fft : 一個簡單的HackRF頻譜儀
  • osmocom_siggen : 一個簡單的HackRF信號源
  • gqrx : 類似於SDR#的廣播接收器

⑨ 帕斯卡cmake cuda 沒有

在網上網路,並沒有找到什麼合適的教程,讓我等小白著急不已。藉助於GOOGLE的強大能力,發現原來cmake已經支持了cuda;於是乎,趕緊
http://www.cmake.org/
下載了最新的cmake,調用了裡面的一個FindCUDA.cmake,完成了自己的第一次使用cmake編譯cuda代碼。具體步驟如下:

1.下載最新版的cmake(其實只要有FindCUDA.cmake這個文件,你就可以編譯cuda與c或者c++混合的代碼文件了)

2.因為初次測試,所以我把所有的文件都放在同一個文件夾下面:c_cpp_cu1.cu;c_cpp_cu3.cpp兩個源文件加一個CMakeLists.txt文件;

3.CmakeLists.txt

[plain] view plain
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(test_cuda)
INCLUDE(/..../Downloads/cmake-3.2.2-Linux-x86_64/share/cmake-3.2/Moles/FindCUDA.cmake)
CUDA_ADD_EXECUTABLE(tset_cuda
c_cpp_cu3.cpp
c_cpp_cu1.cu)
4.c_cpp_cu3.cpp
[html] view plain
#include <iostream>
using namespace std;
extern "C" int func(); //注意這里的聲明
int main()
{
func();
return 0;
}
5.c_cpp_cu1.cu
[html] view plain
#include <stdio.h>
#include <stdlib.h>
#include <cuda_runtime.h>

#define ROWS 32
#define COLS 16
#define CHECK(res) if(res!=cudaSuccess){exit(-1);}
__global__ void Kerneltest(int **da, unsigned int rows, unsigned int cols)
{
unsigned int row = blockDim.y*blockIdx.y + threadIdx.y;
unsigned int col = blockDim.x*blockIdx.x + threadIdx.x;
if (row < rows && col < cols)
{
da[row][col] = row*cols + col;
}
}

extern "C" int func() // 注意這里定義形式
{
int **da = NULL;
int **ha = NULL;
int *dc = NULL;
int *hc = NULL;
cudaError_t res;
int r, c;
bool is_right=true;

res = cudaMalloc((void**)(&da), ROWS*sizeof(int*));CHECK(res)
res = cudaMalloc((void**)(&dc), ROWS*COLS*sizeof(int));CHECK(res)
ha = (int**)malloc(ROWS*sizeof(int*));
hc = (int*)malloc(ROWS*COLS*sizeof(int));

for (r = 0; r < ROWS; r++)
{
ha[r] = dc + r*COLS;
}
res = cudaMemcpy((void*)(da), (void*)(ha), ROWS*sizeof(int*), cudaMemcpyHostToDevice);CHECK(res)
dim3 dimBlock(16,16);
dim3 dimGrid((COLS+dimBlock.x-1)/(dimBlock.x), (ROWS+dimBlock.y-1)/(dimBlock.y));
Kerneltest<<<dimGrid, dimBlock>>>(da, ROWS, COLS);
res = cudaMemcpy((void*)(hc), (void*)(dc), ROWS*COLS*sizeof(int), cudaMemcpyDeviceToHost);CHECK(res)

for (r = 0; r < ROWS; r++)
{
for (c = 0; c < COLS; c++)
{
printf("%4d ", hc[r*COLS+c]);
if (hc[r*COLS+c] != (r*COLS+c))
{
is_right = false;
}
}
printf("\n");
}
printf("the result is %s!\n", is_right? "right":"false");

cudaFree((void*)da);
cudaFree((void*)dc);
free(ha);
free(hc);
// getchar();
return 0;
}
6.運行cmake_gui(之前學長推薦,方便,不過如果你不喜歡可以直接cmake+make)
完成,生成一大堆文件+test_cuda的可執行文件

⑩ CentOS 7 用戶怎樣安裝 LNMP

LNMP是一個基於CentOS編寫的Nginx、php、MySQL、phpMyAdmin、eAccelerator一鍵安裝包。可以在獨立主機上輕松的安裝LNMP生產環境。
一、獲取lnmp源碼
1、打開網路,輸入lnmp,打開第一個lnmp官網,裡面含有很豐富的信息,這里先下載最新版的安裝包
2、通過wget http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz 下載,選擇其他下載地址也可以的;

二、安裝lnmp
1、解壓tar -xvf lnmp1.2-full.tar.gz ;
2、進入 源碼目錄cd lnmp1.2-full/
3、執行./install.sh開始配置,配置完提示Press any key to install...or Press Ctrl+c to cancel,回車後自動編譯安裝,過程比較漫長,好好等待;
4、安裝完成,雖然等待了很久。但是安裝完成了很開心。

三、lnmp基本操作
1、開啟關閉lnmp服務;
2、訪問主要,phpinfo等,驗證是否安裝成功;
3、在web根目錄下編寫腳本訪問,通過瀏覽器訪問;
訪問輸出,腳本信息,這樣就安裝成功了。

注意事項:
下載和安裝過程比較漫長,一定耐心仔細

熱點內容
模擬器安卓版哪個好用電腦玩 發布:2025-05-10 19:41:00 瀏覽:15
浪潮伺服器配置bmc管理ip 發布:2025-05-10 19:26:31 瀏覽:469
兒童編程編 發布:2025-05-10 19:05:46 瀏覽:384
自己在電腦上怎麼搭建伺服器 發布:2025-05-10 19:05:11 瀏覽:426
沖鋒車裡面配置了什麼 發布:2025-05-10 18:55:31 瀏覽:430
c語言typedef的用法 發布:2025-05-10 18:51:35 瀏覽:893
同城網站源碼 發布:2025-05-10 18:47:36 瀏覽:643
怎麼查網易我的世界伺服器ip 發布:2025-05-10 18:46:19 瀏覽:943
共享文件夾英文 發布:2025-05-10 18:46:14 瀏覽:950
linux時間函數 發布:2025-05-10 18:46:12 瀏覽:112