在遙感領域進行深度學習時,通常使用python進行深度學習,會使用到tensorflow的安裝,今天小編就給大家介紹如何在Anaconda中安裝tensorflow!
下載下傳Anaconda Index of /anaconda/archive/ | 清華大學開源軟體鏡像站 | Tsinghua Open Source Mirror ,下載下傳完成之後開始安裝,該勾選的都勾選安裝即可,可以安裝在非C槽。
安裝Python
進入到windows中的指令模式:
(1)檢測anaconda環境是否安裝成功:conda --version
(2)檢測目前安裝了哪些環境變量:conda info --envs
(3)對于Anaconda中安裝一個内置的python版本解析器(其實就是python的版本)
檢視目前有哪些可以使用的python版本:conda search --full -name python
安裝python版本(我這裡是安裝的3.5的版本,這個根據需求來吧):conda create --name tensorflow python=3.5
(4)激活tensflow的環境:activate tensorflow(注意:這個是在後序安裝成功之後才能進行的,否則會提示錯誤)
(5)檢測tensflow的環境添加到了Anaconda裡面:conda info --envs(注意:基于後序安裝成功之後才進行的,否則會提示錯誤)
(6)檢測目前環境中的python的版本:python --version
(7)退出tensorflow的環境:deactivate
(8)切換到tensorflow的環境:activate tensorflow
上面的這些基本就可以對于Anaconda有一個比較簡單的了解,其實它就類似于JDK的一些操作,比如我們檢視jdk的版本,也可以用java --version ,是以說對于Anaconda去安裝tensorflow是比較簡單的原因也正是這樣,也就是是給我們提供了一個基礎的依賴環境,這樣就友善我們進行後面的安裝操作;
4:進行正式的安裝Tensorflow
注意事項:根據Tensorflow的官方文檔,可以得到安裝tensorflow的一個指令是下面:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_x86_64.whl
但是,如果我們在cmd中,直接進行這樣的話,有可能是不能夠成功的,開始也不知道為什麼,後面發現是跟電腦的cpu和顯示卡有點關系,是以,采取後面的方法進行安裝;
5:通過指令:pip install --upgrade --ignore-installed tensorflow
剩下的就是慢慢的等待安裝的過程啦
溫馨提示:(1)如果在這個指令之後,有提示說需要你更新你的pip的版本,那麼你就根據上面的提示進行指令安裝就可以了
6:等待完成之後,确認是否安裝成功
(1)打開之前安裝的Anaconda
這兩個都可以,我這裡說一下使用Anaconda Prompt的方式;
方法一:步驟:①直接點選進入,就會顯示如下的内容:
②切換到tensorflow的環境
③進入python編輯環境
④然後編寫一個使用的代碼:
方法二:通過使用Anaconda中的spyder的編輯器
通過這個的方式的話,更加簡單,直接編寫上面的代碼,然後進行運作就可以啦,我這裡就不多介紹了。。。
7:OK,到這裡的話,基本上從安裝到成功就已經實作了~~~~
溫馨提示:如果你發現,你的conda和tensorflow環境都是安裝成功的,但是一用測試代碼進行跑的時候就出問題了,那麼請注意,這個原因你由于你在安裝tensorflow的時候,是直接在cmd下,而不是在你用conda激活的一個環境,是以導緻,tensorflow并沒有直接嵌入到conda環境,是以,就導緻無法導入子產品的一個錯誤;
解決方法:(1)隻需要在activate tensorflow ----------注意:這個環境是第三步中的第3點裡面建立的;
(2)然後再使用第五步中的指令就可以了
二:将Tensorflow環境嵌入到編輯器中
環境:Tensorflow和Pycharm編輯器
步驟:
1:下載下傳Pycharm軟體,,這個的話下載下傳安裝都很簡單,是以就不多說了
2:使用Pycharm建立一個項目
3:設定項目的相關内容
溫馨提示:注意上面的Interpreter的選擇,因為我們現在要測試的是tensorflow嵌入到我們的IDE,友善我們開發,是以這個python解析器就是要選擇我們之前安裝tensorflow目錄下的解析器,否則的話,我們之後是使用不了tensorflow的子產品的内容的哦。。。特别要注意。。。當然,如果這裡不選擇,那麼在建立工程之後還是可以修改的,後面我會說;
4:建立一個py檔案,用于編寫測試代碼
5:運作程式代碼
OKOK,,,這就說明我們的環境已經整合完成啦。。。。大功告成
溫馨提示:有時候我們會發現,我們引入了tensorflow子產品之後,那就會報錯,這個原因有如下可能:
(1)tensorflow沒有安裝成功,這樣的話,就需要重新按照我的步驟去了!
(2)IDE中的python解析器,沒有使用tensorflow中安裝的那個,是以導緻無法識别
這個解決方案有兩種:
第一種:就是建立工程的時候就選擇正确的解析器,也就是我上面所使用的方法
第二種:就是在項目工程裡面進行修改配置:
步驟:1:選擇File----》setting
2:
3:添加新的解析器
4:找到我們安裝的Anadonda中的env中的tensorflow中的python.exe
5:點選apply應用,然後重新開機我們的IDE,這樣的話就不會報無法找到tensorflow的子產品的錯誤了。
版本:Linux(Ubuntu14.0.1)
三:Linux環境安裝Tensorflow(通過Anaconda方式)
步驟:(1)下載下傳Anaconda的Linux版本 https://www.anaconda.com/download/#linux
從官網的路徑進行下載下傳,一般都很慢,是以,大家可以去這個位址進行下載下傳(或者在進行留言也可以):https://download.csdn.net/download/cs_hnu_scw/10389323
(2)運作下載下傳好的Anaconda,找到下載下傳的目錄,然後執行指令:bash XXXXXXXXX(就是Anaconda檔案的名字)
(3)一直等待安裝完成即可;
當出現下面這個的時候:
強烈注意一點:在安裝的時候,會提示你是否要将這個添加到環境變量中,最好選擇Yes,要不然每次都要進行額外的手動添加,非常的不友善,是以強烈建議直接添加到環境變量中;
(4)當執行完成上面的步驟之後,對Anaconda 的環境進行測試;
執行指令:conda --version (作用:檢視目前Anaconda的版本)
如果,出現對應的安裝版本,那麼就表示安裝成功,可以繼續後面的安裝步驟。
(5)添加tensorflow的環境。執行指令:conda create -n tensorflow python=3.5(版本的話,我個人比較喜歡3.X+版本)。當執行完成之後,就根據提示,進行輸入yes就可以了,慢慢等待。
(6)激活環境,執行指令:source activate tensorflow (作用:進入到tensorflow的環境)
(7)激活tensorflow的環境,執行指令:
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
千萬要注意一個地方:如果你安裝的python的版本是2.7.那麼就用上面的位址,即可,如果你用了3.5版本,那麼久需要對應的修改為如下連結:(其他版本類似修改)
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp35-cp35m-linux_x86_64.whl
(8)執行完之後,剩下的就隻有等待了,,,對于出現的提示,全部都是“yes”即可。
(9)安裝完成之後,進行測試。
具體步驟:
1:在tensorflow的環境下,執行指令:python (作用:表示進入python環境)
2:然後輸入代碼(這個其實和windows安裝的時候測試時一樣):
import tensorflow as tf
hello = tf.constant('first tensorflow')
sess = tf.Session()
print sess.run(hello)
如果:輸出first tensorflow ,那麼就表示安裝成功了。
補充内容:
1:當需要退出python環境,即執行Ctrl+D或者輸入quit即可
2:退出tensorflow環境,source deactivate
3:激活tensorflow環境,source activate tensorflow
四:Pycharm整合tensorflow環境
(1)下載下傳Pycharm,這個就自己到官網下載下傳Linux的社群版本即可,然後對其下載下傳的檔案進行相應的解壓指令處理就可以了,另外的話,注意一點,在Linux中運作Pycharm不是直接點選就運作,而是需要找到對應的目錄下(bin目錄),然後執行指令:sh pycharm.sh 即可運作Pycharm。
(2)這個其實和windows的整合方式是一樣的,隻是說tensorflow的路徑是不一樣的而已,是以,大家可以參考上面對于Windows版本的詳細配置過程即可,這裡就不多說了。
---------------------------------------------------------------------------------------------------------------------------------
五:Tensorflow的案例實踐
(1)案列實踐:通過百度雲盤下載下傳我分享的内容即可,裡面的内容都是封裝好的,是以應該能看懂
項目連結:https://pan.baidu.com/s/1-TelzkLHodDNsdX6G82ZOg 密碼:b05p
溫馨提示:(1)在運作這個代碼的時候,會出現ImportError: No module named 'matplotlib',這是因為你python中缺少了這個包,是以需要進行額外添加;或者進入tensorflow的環境,然後通過pip install matplotlib
解決辦法:進入cmd,然後conda install matplotlib ,,然後等安裝成功即可,這時候就會找到進而解決這個問題;
(2)手寫數字的識别案例:
資料:https://pan.baidu.com/s/1UC6uBPPOBzZhYvNV93RgNw
代碼:
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time : 2018/3/30 0030 15:20
# @Author : scw
# @File : writenumbercompute.py
# 描述:進行手寫數字的識别的執行個體分析
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
# 擷取資料
mnist = input_data.read_data_sets("E:/tensorflowdata/MNIST_data/", one_hot=True)
print('訓練集資訊:')
print(mnist.train.images.shape,mnist.train.labels.shape)
print('測試集資訊:')
print(mnist.test.images.shape,mnist.test.labels.shape)
print('驗證集資訊:')
print(mnist.validation.images.shape,mnist.validation.labels.shape)
# 建構圖
sess = tf.InteractiveSession()
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x,W) + b)
y_ = tf.placeholder(tf.float32, [None,10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y),reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
# 進行訓練
tf.global_variables_initializer().run()
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
train_step.run({x: batch_xs, y_: batch_ys})
# 模型評估
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print('MNIST手寫圖檔準确率:')
print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels}))
(3)撥号鍵與短資訊圖示的識别
功能描述:主要是實作對于撥号鍵圖示與短資訊鍵圖示的一個識别,作為一個簡單的分類Demo。
資料來源請引用:地理遙感生态網科學資料注冊與出版系統