除了自己寫模組,Python 還有很多內建的模組,很適合用來進行 AI 的開發。以下介紹幾個常見的模組,可以處理隨機數、時間、系統操作等。
AI 開發中經常需要用到隨機數,比如隨機選擇數字或打亂資料。而 random 模組可以實現這些操作。
randint(a, b)
:隨機生成範圍內的整數。choice(seq)
:從序列中隨機選擇一個元素。shuffle(seq)
:隨機打亂序列順序。這個程式會在 1 到 10 之間隨機選擇一個數字。
在 AI 的訓練過程中經常會需要控制時間,time 模組能幫助我們處理各種時間操作,比如計算運行時間、延遲執行等。
time()
:獲取當前的時間。sleep(seconds)
:讓程式暫停指定的秒數。這個程式會先暫停 2 秒,再繼續執行。
sys 模組能夠讓我們獲取和操作 Python 系統參數,這對於處理系統資源、環境變數等非常有幫助。
sys.version
:查看 Python 的版本。sys.path
:列出所有模組的搜尋路徑。這個程式顯示目前使用的 Python 版本以及模組的搜尋路徑。
建立一個包含隨機數生成器和計時功能的模組:使用 random 和 time 模組,讓 AI 根據時間限制隨機做出決策。
[47~48] 這一段是 ai_decision
函數,decisions
是一個包含四個字串的列表,分別代表 AI 可以做出的四種決策:前進、後退、左轉和右轉。
[49~50] 用來模擬 AI 在做決策之前進行“思考”的過程。首先,我們用 print
函數輸出提示,讓使用者知道 AI 正在進行思考。接著,我們使用 time.sleep(1)
,讓程式暫停 1 秒。
[48、51] random.choice()
這個函數會從我們定義的 decisions
列表中隨機選擇一個元素。所以每次執行程式時,AI 會做出不同的決策。而 random.choice()
可以快速地從一個列表中選擇一個隨機項目,非常適合這種需要隨機選擇的場景。
[54~56] for 迴圈用來重複執行 ai_decision()
函數 3 次。每次我們都會呼叫 ai_decision()
,讓 AI 做出一個隨機決策,並把這個決策存放在 decision 變數中。接著,我們使用 print
函數來將 AI 的決策輸出到螢幕上。這樣我們就可以看到 AI 每次做出的決策了。
第一次輸出:⬇⬇⬇⬇⬇⬇⬇⬇ 第二次輸出:⬇⬇⬇⬇⬇⬇⬇⬇ 第三次輸出:⬇⬇⬇⬇⬇⬇⬇⬇
今天對模組有了更進一步的認識,尤其特別挑選跟 AI 有關的。因為發現訓練 AI 模型時,真的會看到 random, time, sys 這些模組,當時我雖然能從字面上來猜想它們的用途,但因為是使用已經建構好的模板來訓練,所以我學習最多的應該是紀錄和分析訓練的參數~並不覺得自己能夠從頭到尾把這些模型的架構建立起來。
這也是我在鐵人檔案裡說到的,希望我對看過的語法不再只是因為看不懂而草草略過,而是更加理解、能自己建構這樣的模型><所以現在都會用 AI 去連結新學到的知識,我相信這樣會慢慢的靠近 AI 吧!