【TensorFlow】01 TensorFlow簡(jiǎn)介與Python基礎(chǔ)
1108
2025-04-01
一、Anaconda介紹
Anaconda 能讓你在數(shù)據(jù)科學(xué)的工作中輕松安裝經(jīng)常使用的程序包。你還將使用它創(chuàng)建虛擬環(huán)境,以便更輕松地處理多個(gè)項(xiàng)目。Anaconda 簡(jiǎn)化了工作流程,并且解決了多個(gè)包和 Python 版本之間遇到的大量問(wèn)題。它附帶了?conda、Python 和 150 多個(gè)科學(xué)包及其依賴項(xiàng)。conda?與?pip?相似,不同之處是可用的包以數(shù)據(jù)科學(xué)包為主,而?pip?適合一般用途。與此同時(shí),conda?并非像?pip?那樣專門適用于 Python,它也可以安裝非 Python 的包。它是支持任何軟件的包管理器。也就是說(shuō),雖然并非所有的 Python 庫(kù)都能通過(guò) Anaconda 發(fā)行版和 conda 獲得,但同時(shí)它也支持非 Python 庫(kù)的獲得。在使用 conda 的同時(shí),你仍可以使用?pip?來(lái)安裝包。
二、Anaconda安裝
Anaconda 可用于 Windows、Mac OS X 和 Linux。可以在?https://www.anaconda.com/download/?上找到安裝程序和安裝說(shuō)明。
因?yàn)檫@個(gè)網(wǎng)站服務(wù)器在國(guó)外,所以需要搭梯子下載才比較快,建議去清華大學(xué)鏡像開(kāi)源軟件官網(wǎng)去下載,網(wǎng)址為:https://mirrors.tuna.tsinghua.edu.cn/
如果計(jì)算機(jī)上已經(jīng)安裝了 Python,這不會(huì)有任何影響。實(shí)際上,腳本和程序使用的默認(rèn) Python 是 Anaconda 附帶的 Python。
選擇相應(yīng)的Python版本進(jìn)行安裝。完成安裝安裝后自動(dòng)進(jìn)入默認(rèn)的Conda環(huán)境,而且所有包均已完成。可以用命令鍵入conda list查看安裝的所有包。為了避免報(bào)錯(cuò),可以在終端鍵入 conda upgrade --all更新所有包。并在提示是否更新的時(shí)候輸入 y(Yes)以便讓更新繼續(xù)。初次安裝下的軟件包版本一般都比較老舊,因此提前更新可以避免未來(lái)不必要的問(wèn)題。
PS:安裝過(guò)程中如果有一個(gè)添加到path路徑,建議不要選,選的話有可能會(huì)對(duì)其他軟件產(chǎn)生影響!
三、管理包
安裝了 Anaconda 之后,管理包是相當(dāng)簡(jiǎn)單的。要安裝包,請(qǐng)?jiān)诮K端中鍵入?conda install package_name。例如,要安裝 numpy,請(qǐng)鍵入?conda install numpy。
你還可以同時(shí)安裝多個(gè)包。類似?conda install numpy scipy pandas?的命令會(huì)同時(shí)安裝所有這些包。還可以通過(guò)添加版本號(hào)(例如?conda install numpy=1.10)來(lái)指定所需的包版本。
Conda 還會(huì)自動(dòng)為你安裝依賴項(xiàng)。例如,scipy?依賴于?numpy,因?yàn)樗褂貌⑿枰?numpy。如果你只安裝?scipy?(conda install scipy),則 conda 還會(huì)安裝?numpy(如果尚未安裝的話)。
大多數(shù)命令都是很直觀的。要卸載包,請(qǐng)使用?conda remove package_name。要更新包,請(qǐng)使用?conda update package_name。如果想更新環(huán)境中的所有包(這樣做常常很有用),請(qǐng)使用?conda update --all。最后,要列出已安裝的包,請(qǐng)使用前面提過(guò)的?conda list。
如果不知道要找的包的確切名稱,可以嘗試使用?conda search search_term?進(jìn)行搜索。例如,我知道我想安裝?Beautiful Soup,但我不清楚確切的包名稱。因此,我嘗試執(zhí)行?conda search beautifulsoup。
圖1? 搜索beautifulsoup
四、管理環(huán)境
如前所述,你可以使用 conda 創(chuàng)建環(huán)境以隔離項(xiàng)目。要?jiǎng)?chuàng)建環(huán)境,請(qǐng)?jiān)诮K端中使用?conda create -n env_name list of packages。在這里,-n env_name?設(shè)置環(huán)境的名稱(-n是指名稱),而?list of packages?是要安裝在環(huán)境中的包的列表。例如,要?jiǎng)?chuàng)建名為?my_env?的環(huán)境并在其中安裝 numpy,請(qǐng)鍵入?conda create -n my_env numpy。
創(chuàng)建環(huán)境時(shí),可以指定要安裝在環(huán)境中的 Python 版本。這在你同時(shí)使用 Python 2.x 和 Python 3.x 中的代碼時(shí)很有用。要?jiǎng)?chuàng)建具有特定 Python 版本的環(huán)境,請(qǐng)鍵入類似于?conda create -n py3 python=3?或?conda create -n py2 python=2?的命令。實(shí)際上,我在我的個(gè)人計(jì)算機(jī)上創(chuàng)建了這兩個(gè)環(huán)境。我將它們用作與任何特定項(xiàng)目均無(wú)關(guān)的通用環(huán)境,以處理普通的工作(可輕松使用每個(gè) Python 版本)。這些命令將分別安裝 Python 3 和 Python 2 的最新版本。要安裝特定版本(例如 Python 3.3),請(qǐng)使用?conda create -n py python=3.3。
五、進(jìn)入環(huán)境
創(chuàng)建環(huán)境后,在 OSX/Linux 上使用?source activate my_env?進(jìn)入環(huán)境。在 Windows 上,請(qǐng)使用?activate my_env。
進(jìn)入環(huán)境后,你會(huì)在終端提示符中看到環(huán)境名稱,它類似于?(my_env) ~ $。環(huán)境中只安裝了幾個(gè)默認(rèn)的包,以及你在創(chuàng)建它時(shí)安裝的包。你可以使用?conda list?檢查這一點(diǎn)。在環(huán)境中安裝包的命令與前面一樣:conda install package_name。不過(guò),這次你安裝的特定包僅在你進(jìn)入環(huán)境后才可用。要離開(kāi)環(huán)境,請(qǐng)鍵入?source deactivate(在 OSX/Linux 上)。在 Windows 上,請(qǐng)使用?deactivate。
六、保存和加載環(huán)境
共享環(huán)境這項(xiàng)功能確實(shí)很有用,它能讓其他人安裝你的代碼中使用的所有包,并確保這些包的版本正確。你可以使用?conda env export > environment.yaml?將包保存為?YAML。命令的第一部分?conda env export?用于輸出環(huán)境中的所有包的名稱(包括 Python 版本)。
上圖中,你可以看到環(huán)境的名稱和所有依賴項(xiàng)及其版本。導(dǎo)出命令的第二部分?> environment.yaml?將導(dǎo)出的文本寫入到 YAML 文件?environment.yaml?中。現(xiàn)在可以共享此文件,而且其他人能夠用于創(chuàng)建和你項(xiàng)目相同的環(huán)境。
要通過(guò)環(huán)境文件創(chuàng)建環(huán)境,請(qǐng)使用?conda env create -f environment.yaml。這會(huì)創(chuàng)建一個(gè)新環(huán)境,而且它具有同樣的在?environment.yaml?中列出的庫(kù)。
列出環(huán)境
如果忘記了環(huán)境的名稱(我有時(shí)會(huì)這樣),可以使用?conda env list?列出你創(chuàng)建的所有環(huán)境。你會(huì)看到環(huán)境的列表,而且你當(dāng)前所在環(huán)境的旁邊會(huì)有一個(gè)星號(hào)。默認(rèn)的環(huán)境(即當(dāng)你不在選定環(huán)境中時(shí)使用的環(huán)境)名為?root。
刪除環(huán)境
如果你不再使用某些環(huán)境,可以使用?conda env remove -n env_name?刪除指定的環(huán)境(在這里名為?env_name)。
使用環(huán)境
對(duì)我有很大幫助的一點(diǎn)是,我的 Python 2 和 Python 3 具有獨(dú)立的環(huán)境。我使用了?conda create -n py2 python=2?和?conda create -n py3 python=3?創(chuàng)建兩個(gè)獨(dú)立的環(huán)境,即?py2?和?py3。現(xiàn)在,我的每個(gè) Python 版本都有一個(gè)通用環(huán)境。在所有這些環(huán)境中,我都安裝了大多數(shù)常用的標(biāo)準(zhǔn)數(shù)據(jù)科學(xué)包(numpy、scipy、pandas 等)。
我還發(fā)現(xiàn),為我從事的每個(gè)項(xiàng)目創(chuàng)建環(huán)境很有用。這對(duì)于與數(shù)據(jù)不相關(guān)的項(xiàng)目(例如使用 Flask 開(kāi)發(fā)的 Web 應(yīng)用)也很有用。
共享環(huán)境
在 GitHub 上共享代碼時(shí),最好同樣創(chuàng)建環(huán)境文件并將其包括在代碼庫(kù)中。這能讓其他人更輕松地安裝你的代碼的所有依賴項(xiàng)。對(duì)于不使用 conda 的用戶,我通常還會(huì)使用?pip freeze(在此處了解詳情)將一個(gè) pip?requirements.txt?文件導(dǎo)出并包括在其中。
Anaconda Python 深度學(xué)習(xí)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。