2019-11-10

如何在 Windows 10 安裝 Anaconda 3.7 和 TensorFlow-GPU 2.0

在 Windows 10 安裝 Anaconda 3.7 和 TensorFlow-GPU  2.0

Anaconda Powershell Prompt (Anaconda 3) 終端機視窗

我試了2天,融合書上和網路上的各種密技,終於成功在 Windows 10 安裝 Anaconda 3.7 和 TensorFlow-GPU 2.0。
趁現在還沒忘記,把步驟寫下來。

我的電腦的 NVIDIA 圖形顯示卡是 GeForce GTX 1050。
首先到 NVIDIA 下載驅動程式。
然後安裝驅動程式。

請注意:
不需要安裝和 Cuda 相關的 Library。
稍後安裝 TensorFlow-GPU 2.0 時,Anaconda 會自行安裝和 Cuda 相關的 Library。

然後,到 Anaconda 官網下載最新版本的 Anaconda Python 3.7。
下載後,安裝最新版本的 Anaconda Python 3.7。

然後,創建虛擬環境,並在虛擬環境中安裝 TensorFlow-GPU 2.0。
以下逐步說明。

以下步驟,都是在 Anaconda Powershell Prompt (Anaconda 3) 終端機視窗中進行。

我將虛擬環境命名為 TensorFlow-GPU,以方便識別:
conda create --name TensorFlow-GPU

進入虛擬環境:
conda activate TensorFlow-GPU

在虛擬環境中安裝 TensorFlow-GPU 2.0 和 Python 3.7:
conda install tensorflow-gpu=2.0 python=3.7

最後,將虛擬環境加入 Jupyter Notebook 中,以方便使用:
conda install ipykernel
python -m ipykernel install --name=TensorFlow-GPU

終於,可以跑 Jupyter Notebook 了:
jupyter notebook

在 Jupyter Notebook 中,輸入:
import tensorflow as tf
tf.__version__

然後,按上方工具列的 Run。
Out [1]: '2.0.0'

如果輸出是 '2.0.0',就成功了。

祝大家順利安裝!

台灣地震預測研究所 所長 林湧森
台湾地震予測研究所 所長 林湧森
Dyson Lin, Founder & CEO, Taiwan Quake Forecast Institute
2019-11-10 15:47 UTC+8

2018-01-24

如何在 Windows 10 的 Anaconda 3 安裝 PyTorch

如何在 Windows 10 的Anaconda 3 安裝 PyTorch

如何在 Windows 10 的 Anaconda 3 安裝 PyTorch:

# for CPU only packages
conda install -c peterjc123 pytorch

(詳情請參考:PyTorch在64位Windows下的Conda包)

台灣地震預測研究所 所長
林湧森
2018-01-24 19:01 UTC+8

2017-02-22

quake_forecast.py:同時預測時間、地點、規模

2017-02-22 南非德本站 Durban, South Africa Station 空氣2號 Air 2 (Arduino Uno + LF298N) - Analysis

2017-02-22 南非德本站 Durban, South Africa Station 空氣2號 Air 2 (Arduino Uno + LF298N)

我把之前寫的3個程式整合成1個:quake_forecast.py,以同時預測時間、地點、規模。

# coding: utf-8
# Quake Forecast: Predict Time, Location and Magnitude of a Quake
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestClassifier

left_half_duration = 3
right_half_duration = 1
right_half_estimate = 2
predict_duration = left_half_duration + right_half_duration + right_half_estimate
predict_height = 8

train = pd.read_csv('quake_signals.csv')
print(train)
features = ['Duration', 'Height']
data = train[features]
print(data)

# Predict Time
target = train['Time']
print(target)
model = LinearRegression()
model.fit(data, target)

quake_time = model.predict([[predict_duration, predict_height]])
print(quake_time)
print('Time: ' , round(right_half_estimate + quake_time[0]), ' days')

# Predict Location
target = train['Location']
print(target)
model = RandomForestClassifier()
model.fit(data, target)

quake_location = model.predict([[predict_duration, predict_height]])
print(quake_location)

# Predict Magnitude
target = train['Magnitude']
print(target)
model = LinearRegression()
model.fit(data, target)

quake_magnitude = model.predict([[predict_duration, predict_height]])
print(quake_magnitude)

程式碼放在:https://github.com/dysonlin1/Quake-Forecast

這次的預測,發布為:(AI預測菲律賓;我預測日本) 南非德本站修正地震預報:橙:5日以內,菲律賓或日本,M7.3 南アフリカ ダーバン局補正地震予報:オレンジ:5日以内に、フィリピンまたは日本、M7.3 Durban, South Africa Station Revised Quake Forecast: Orange: within 5 days, Philippines or Japan, M7.3

台灣地震預測研究所 所長
林湧森
2017-02-22 17:01 UTC+8

2017-02-20

改成用Linear Regression預測地震發生時間

2017-02-18 南非德本站 Durban, South Africa Station 空氣2號 Air 2 (Arduino Uno + LF298N) - Analysis

我改成用Linear Regression預測地震發生時間。
程式碼如下(相關程式碼和數據集,都放在https://github.com/dysonlin1/Quake-Forecast):

# coding: utf-8
# Machine Learning: Quake Forecast
import pandas as pd
from sklearn.linear_model import LinearRegression

train = pd.read_csv('quake_signals.csv')
print(train)

features = ['Duration', 'Height']
data = train[features]
print(data)

target = train['Time']
print(target)

model = LinearRegression()
model.fit(data, target)
quake_time = model.predict([[2, 4]])
print(quake_time)

台灣地震預測研究所 所長
林湧森
2017-02-20 18:08 UTC+8

2017-02-17

開始以機器學習預測地震(5):GitHub

2017-02-15 南非德本站 Durban, South Africa Station 空氣2號 Air 2 (Arduino Uno + LF298N) - Analysis

我的開始以機器學習預測地震系列文章,已經順利完成。
在此做個總結。

在這一系列文章中,我建立了以機器學習預測地震的完整程式架構:
開始以機器學習預測地震(1):預處理(Preprocess)數據
開始以機器學習預測地震(2):以Random Forest預測地震發生時間
開始以機器學習預測地震(3):以Random Forest預測地震發生地點
開始以機器學習預測地震(4):以Linear Regression預測地震發生規模

未來將會以此為基礎,繼續發展。

為了方便大家研究,特地將文章中所有的Python程式碼、輸入數據和訊號圖,放在GitHub:
https://github.com/dysonlin1/Quake-Forecast

歡迎大家一起來預測地震!
謝謝!

台灣地震預測研究所 所長
林湧森
2017-02-17 14:17 UTC+8

開始以機器學習預測地震(4):以Linear Regression預測地震發生規模

2017-02-15 南非德本站 Durban, South Africa Station 空氣2號 Air 2 (Arduino Uno + LF298N) - Analysis

預測地震(Earthquake Prediction, Quake Forecast)包含3個部分:時間(Time)、地點(Location)、規模(Magnitude)。

上上篇以Random Forest預測地震發生時間。
上一篇以Random Forest預測地震發生地點。
這篇將以Linear Regression預測地震發生規模。

程式碼如下:

# Machine Learning: Quake Forecast Magnitude
import pandas as pd
from sklearn.linear_model import LinearRegression

train = pd.read_csv('quake_signals.csv')
print(train)

features = ['Duration', 'Height']
data = train[features]
print(data)

target = train['Magnitude']
print(target)

model = LinearRegression()
model.fit(data, target)
quake_magnitude = model.predict([[2, 2.3]])
print(quake_magnitude)

程式執行結果如下:

以Linear Regression預測地震發生規模


所以,Linear Regression預測地震發生規模為:M5.4(以5.3904918四捨五入到小數點後第1位)。

台灣地震預測研究所 所長
林湧森
2017-02-17 08:44 UTC+8

開始以機器學習預測地震(3):以Random Forest預測地震發生地點

2017-02-15 南非德本站 Durban, South Africa Station 空氣2號 Air 2 (Arduino Uno + LF298N) - Analysis

預測地震(Earthquake Prediction, Quake Forecast)包含3個部分:時間(Time)、地點(Location)、規模(Magnitude)。

上一篇以Random Forest預測地震發生時間。
這篇將以Random Forest預測地震發生地點。

程式碼如下:

# Machine Learning: Quake Forecast Location
import pandas as pd
from sklearn.ensemble import RandomForestClassifier

train = pd.read_csv('quake_signals.csv')
print(train)

features = ['Duration', 'Height']
data = train[features]
print(data)

target = train['Location']
print(target)

model = RandomForestClassifier()
model.fit(data, target)
quake_location = model.predict([[2, 2.3]])
print(quake_location )

程式執行結果如下:

以Random Forest預測地震發生地點


所以,Random Forest預測地震發生地點為:印尼(Indonesia)。

台灣地震預測研究所 所長
林湧森
2017-02-17 08:09 UTC+8