1. 程式人生 > >【從零開始人工智慧01】人工智慧執行開發環境搭建

【從零開始人工智慧01】人工智慧執行開發環境搭建

人工智慧執行開發環境搭建

一、系統要求

作業系統為Win10。如果有條件的話,建議還是在Linux系統下搭建人工智慧環境。

二、軟體安裝

由於使用Win10作業系統,環境搭建選定Anaconda軟體為基礎,人工智慧元件選擇了當前最熱的兩類:tensorflow和gym。

1.Anaconda軟體安裝
到https://www.anaconda.com/下載Anaconda軟體,記住要下載支援python3.x的版本。下載後雙擊執行安裝。我沒有將Anaconda新增到PATH環境變數中,使其執行為一個相對獨立的環境。安裝完成後在開始選單中有Anaconda目錄,其中Anaconda Navigator和Anaconda Prompt是最常用的2個程式,前一個是有人機互動介面,後一個是控制檯程式。
在這裡插入圖片描述

2.建立執行環境
執行Anaconda Navigator,依次點選【Enviroments】-【Create】,輸入執行環境名稱(這裡我的環境名稱為hdrai),選擇Python版本3.6。
在這裡插入圖片描述

3.安裝spyder
根據百度百科:Spyder是Python作者為它開發的一個簡單的整合開發環境,和其他的Python開發環境相比,它最大的優點就是模仿MATLAB的“工作空間”的功能,可以很方便地觀察和修改陣列的值。
點選【Home】,選擇剛才建立的執行環境(我建立的是hdrai),安裝Spyder元件。如果已安裝,顯示按鈕為【Launch】,如果未安裝,顯示按鈕為【Install】。
在這裡插入圖片描述

4.開啟執行環境終端,升級pip(也可以選擇暫時不升級)
在Anaconda軟體中選中剛才建立的執行環境(我建立的是hdrai),點擊向右箭頭,選擇【Open Terminal】,開啟終端。
在這裡插入圖片描述
輸入:python -m pip install --upgrade pip
在這裡插入圖片描述

5.安裝tensorflow
輸入:pip install tensorflow
在這裡插入圖片描述

6.安裝keras
輸入:pip install keras
在這裡插入圖片描述

7.安裝matplotlib
輸入:pip install matplotlib
在這裡插入圖片描述

8.安裝gym
輸入:pip install gym
安裝過程中,注意到環境中已經有高版本的pyglet了(1.3.2),安裝的gym版本是0.10.9。後面在用程式碼測試環境時發現pyglet-1.3.2支援gym-0.10.9時會報錯,需要將pyglet版本降到1.2.4。
降版本的命令為:pip install pyglet==1.2.4
安裝完成後可以用pip list檢視所有安裝的元件及版本
在這裡插入圖片描述

三、執行環境測試

使用兩個事例分別對tensorflow和gym的執行環境進行測試,測試工具使用spyder。
1.倒立擺試驗(基於gym的應用)
這是http://gym.openai.com/docs/上的事例,程式碼如下:

import gym
from gym import wrappers
env=gym.make('CartPole-v0')
# 根據本機情況建立一個快取目錄
env=wrappers.Monitor(env,'E:/Workplace/OpenAI/tmp/cartpole-experiment-1', force='True')
for i_episode in range(20):
    observation=env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action=env.action_space.sample()
        s,r,done,info=env.step(action)
        if done:
            print("Episode finished after {} timestep".format(t+1))
            break
# 關閉動畫效果窗體
exit()

執行效果為:
在這裡插入圖片描述

2.擬合平面(基於tensorflow的應用)
這是http://www.tensorfly.cn/tfdoc/get_started/introduction.html 上的事例,程式碼如下:

import tensorflow as tf
import numpy as np
# 使用 NumPy 生成假資料(phony data), 總共 100 個點.
x_data = np.float32(np.random.rand(2, 100)) # 隨機輸入
y_data = np.dot([0.100, 0.200], x_data) + 0.300
# 構造一個線性模型# 
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 初始化變數
init = tf.initialize_all_variables()
# 啟動圖 (graph)
sess = tf.Session()
sess.run(init)
# 擬合平面
for step in range(0,201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))
# 得到最佳擬合結果 W: [[0.100  0.200]], b: [0.300]

執行效果為:
在這裡插入圖片描述

四、後記

上述安裝的元件都是最基本的元件,在後續學習和實踐中還會要求安裝新的元件。