從零入手人工智能(2)——搭建開發環境

1.前言

作為一名單片機工程師,想要轉型到人工智能開發領域的道路確實充滿了挑戰與未知。記得當我剛開始這段旅程時,心中充滿了迷茫和困惑。面對全新的領域,我既不清楚如何入手,也不知道能用人工智能干什么。正是這些迷茫和困惑,激發了我不斷探索和學習的動力。經過一段時間的摸索和實踐,我逐漸掃清了障礙,找到了入門的鑰匙。我開始明白如何去學習,如何去實踐,如何去深挖每一個核心知識點。

我撰寫了這個系列的文章,希望能將這段經歷和學習的心得分享給更多想要入門人工智能的朋友們。這些文章將詳細記錄我學習人工智能的每一個步驟和心得,希望通過我的經驗,為大家提供一份實用的入門指南,幫助大家更快地融入這個充滿機遇和挑戰的領域。

萬事開頭難”是一句廣為流傳的諺語,意指無論做任何事情,最初的時候總是最困難的。但是!“天下事有難易乎?為之,則難者亦易矣
在這里插入圖片描述

2.編程環境

人工智能相關的軟件開發和單片機軟件開發不同,單片機軟件開發只需要安裝一個集成開發軟件就可以了,例如KEIL或者IAR。而人工智能軟件開發則需要安裝編程軟件,配置編程環境,同時還要根據實際情況添加一些軟件工具。因此想要入門人工智能的第一個攔路虎就是編程環境的搭建

筆者是一名單片機工程師,人工智能相關的軟件開發與單片機相關的軟件開發之間存在顯著的差異。單片機軟件開發通常較為直接,主要圍繞一個集成開發環境(IDE)進行,如KEIL或IAR,這些軟件為開發者提供了編寫、編譯和調試單片機程序的一站式服務。然而,人工智能軟件開發則是一項更為復雜且多層次的任務。
在這里插入圖片描述
人工智能軟件的開發不僅要求安裝專業的編程軟件,如Python的IDLE、Jupyter Notebook等,還需要根據項目的需求,配置相應的編程環境,如安裝各種庫和框架,如TensorFlow、PyTorch、OpenAI等。這些庫和框架為開發者提供了構建、訓練和部署機器學習模型所需的各種工具和算法。除了編程軟件和環境的配置,人工智能軟件開發還常常需要添加一些輔助的軟件工具,如數據可視化工具(如Matplotlib、Seaborn)、模型優化工具(如TensorBoard)等。

因此,對于想要入門人工智能領域的開發者來說,搭建一個合適的編程環境無疑是我們面臨的首要挑戰。在搭建編程環境的過程中,我們可能會遇到各種問題和挑戰。例如,軟件安裝失敗、環境配置錯誤、版本沖突等。這些問題需要開發者具備耐心和毅力,通過查閱文檔、搜索網絡、尋求幫助等方式逐一解決。
我們的編程環境如下:

python 3.12.2
ancand 2.5.2
jupyter 7.0.8
pandas 2.2.1
numpy 1.26.4
keras 3.3.3

在這里插入圖片描述

3.編程環境搭建

編程環境的核心是一個安裝有人工智能相關工具包的Python編程環境。構建開發環境主要有以下兩個主要步驟:

步驟1:安裝Python,這是整個編程環境的基礎。Python是一種高級編程語言,其簡潔的語法、強大的庫支持和廣泛的應用領域使其成為AI開發的理想選擇。

步驟2:安裝一系列與人工智能開發緊密相關的工具包,也稱為庫或框架。這些工具包提供了豐富的算法、模型和實用工具,使我們能夠更高效地開發AI應用程序。一些常見的AI工具包包括NumPy(用于數值計算)、Pandas(用于數據處理和分析)、Matplotlib(用于數據可視化)、TensorFlow(用于深度學習)和scikit-learn(用于機器學習)。
在這里插入圖片描述

3.1安裝pythoh編程環境

安裝pythoh

下載python安裝包。進入官網下載與自己電腦系統相匹配的python安裝包。

python官網:https://www.python.org

在這里插入圖片描述
安裝python。點擊python安裝包開始安裝,安裝時需要勾選Add python to PATH,其他步驟使用默認選項直接“下一步”。
在這里插入圖片描述
測試python。完成安裝后打開命令行工具(WIN+R 輸入cmd),在命令行工具輸入

python -V

在這里插入圖片描述

如果python正確安裝,命令行工具會返回python的版本號。

編程環境搭建情況:已經完成30%的搭建工作,目前編程環境已經支持python編程
在這里插入圖片描述

安裝Anaconda

Anaconda是一個開源的Python發行版本,它不僅僅包含了Python解釋器,還集成了大量的科學計算包、庫、管理工具等,為數據科學、機器學習等領域的科研人員和工程師提供了便捷的工作環境。ANACONDA有以下四大作用:

1、工具包管理。ANACONDA自帶了Conda這個強大的包管理工具,可以方便地安裝、更新、卸載Python包及其依賴項。
2、虛擬環境管理。ANACONDA可以輕松創建和管理多個Python虛擬環境,每個環境可以有不同的Python版本和包依賴,從而滿足不同的項目需求。
3、數據科學工具。ANACONDA自帶了許多常用的數據科學工具,如Jupyter
Notebook、Spyder等,這些工具為數據分析和可視化提供了強大的支持。
4、豐富的工具包。ANACONDA包含了超過180多個科學包,如NumPy、Pandas等,這些包在數據清洗、統計分析、機器學習等方面具有廣泛的應用。

下載Anaconda安裝包。進入官網下載與自己電腦系統相匹配的Anaconda安裝包。

Anaconda官網:https://www.anaconda.com

在這里插入圖片描述
安裝Anaconda。點擊Anaconda安裝包開始安裝,使用默認選擇進行安裝。
在這里插入圖片描述

創建一個虛擬環境。打開Anaconda點擊Environments,點擊base選擇Open Terminal。
在這里插入圖片描述

在終端中輸入指令建立自定義環境,env_ai 為自定義環境名,運行該命令后在隨后輸入的提示符中輸入 y

conda create -n env_ai  

在終端中輸入激活自定義環境

conda activate anv_ai

在這里插入圖片描述

編程環境搭建情況:已經完成50%的搭建工作,目前編程環境是一個支持python編程,支持便捷安裝多種應用庫和工具,支持創建管理多個python虛擬環境

在這里插入圖片描述

安裝Jupyter Notebook

Jupyter Notebook是一個功能強大的交互式筆記本,它為用戶提供了在Web瀏覽器中編寫、執行和共享文檔的能力。這些文檔可以包含代碼、可視化和文本,可以為開發者等提供了極大的便利。
安裝Jupyter Notebook。打開Anaconda,點擊home ,找到jupyter,點擊install完成安裝。
在這里插入圖片描述

啟動Jupyter Notebook。打開Anaconda點擊Environments,點擊env_ai選擇Open with jupyter notebook
在這里插入圖片描述
瀏覽器自動打開了juoyter ,我們可以選擇new建立一個文件夾或者一個Notebook
在這里插入圖片描述
在jupyter中新建一個Notebook文件,打開Notebook文件,我們可以在Notebook中寫文檔,寫代碼,調試運行代碼。
在這里插入圖片描述
編程環境搭建情況:已經完成70%的搭建工作,目前編程環境是一個支持python編程,支持便捷安裝多種應用庫和工具,支持創建管理多個python虛擬環境,同時還可以靈活便捷的編輯和調試代碼
在這里插入圖片描述

3.2安裝工具包

到這里一步可以說我們的環境基本搭建好了,接下來我們需要安裝一些和人工智能相關的工具包,如NumPy、Pandas、scikit-learn、keras等,這些包在數據清洗、統計分析、機器學習等方面具有廣泛的應用。工具包相當于一個庫文件,我們安裝了工具包就可以調用其中的各種函數方法。

打開Anaconda點擊Environments,點擊env_ai選擇Open Terminal。我們在終端中用pip指令來安裝工具包。例如我們安裝pandas 就在終端中輸入

pip install pandas

在這里插入圖片描述
這種直接安裝的方式默認是用的是國外的下載源,下載速度很慢,經常會出現下載失敗的情況,因此我們使用國內的下載源進行下載,大家可以在網上搜素“pip國內源",筆者使用的是清華大學下載源,因此我們將安裝pandas安裝指令改為如下形式:

pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple/

這樣就和迅速的安裝好了pandas工具包。在這里我們直接將后續可能用到的工具包一次性安裝完,安裝指令如下:

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install Certificates -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install keras -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install tensorflow  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/

編程環境搭建情況:已經完成100%的搭建工作,目前編程環境是一個支持python編程,支持便捷安裝多種應用庫和工具,支持創建管理多個python虛擬環境,同時還可以靈活便捷的編輯和調試代碼,此時我們的編程環境還支持各種人工智能算法的工具包
在這里插入圖片描述
大功告成!至此我們的編程環境已經搭建好了!人工智能我來了!
在這里插入圖片描述

4.編寫第一個程序

打開在jupyter中新建一個Notebook文件,我們先建立一個Markdown的cell ,寫一個程序說明。在這里插入圖片描述

建立一個Code的cell ,寫一個python程序并運行,代碼和運行結果如下:

from matplotlib import pyplot as plt
x = [1,2,3,4,5,6]
y = [11,12,13,14,15,16]
plt.figure(figsize = (2,2))
plt.scatter(x,y)
plt.show()

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/24306.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/24306.shtml
英文地址,請注明出處:http://en.pswp.cn/web/24306.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用Python實現奇怪的瘋狂按鍵需求

項目背景 說起來好笑,假設有一個奇怪需求 — 僅僅是假設,不代表我有這個需求,雖然可以想象有人會有這個需求,但是這個人不是我,我也不認識任何這樣的人 — 瘋狂向某個程序輸出按鍵,比如,一會兒瘋狂輸入f,一會兒瘋狂輸入q。 如果是兩個按鍵需求,我想要設置一個最簡單…

M1Pro 使用跳板機

Mac (M1 Pro) 通過Iterm2 使用跳板機 1、由于堡壘機(跳板機)不能支持mac系統終端工具,只支持xshell等win生態。所以我們需要先安裝iterm2 裝iterms教程 這里頭對rz、sz的配置不詳細。我們可以這樣配置: where iterm2-send-zmod…

Windows 11中刪除分區的幾種方法,總有一種適合你

序言 想從Windows 11 PC中刪除一個分區,以便將空間重新分配給現有分區或創建一個新分區嗎?我們將為你介紹刪除Windows 11分區的多種方法。 刪除Windows上的分區時會發生什么 刪除分區時,Windows會擦除該分區的內容,并將該分區從電腦上的任何位置刪除。你將丟失保存在該分…

Github 2024-06-05 C開源項目日報 Top10

根據Github Trendings的統計,今日(2024-06-05統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量C項目10C++項目2Python項目1我的電視 - 安卓電視直播軟件 創建周期:40 天開發語言:CStar數量:649 個Fork數量:124 次關注人數:649 人貢獻人…

單元測試覆蓋率

什么是單元測試覆蓋率 關于其定義,先來看一下維基百科上的一段描述: 代碼覆蓋(Code coverage)是軟件測試中的一種度量,描述程序中源代碼被測試的比例和程度,所得比例稱為代碼覆蓋率。 簡單來理解&#xff…

C語言實現map數據結構 key—value對應

1.首先43行 createKeyValuePair(char*key ,int value)這個函數就是給一個keyValuePair *pair的指針來通過內存分配將數據key和value存入這個pair指針所對應的內存空間 2.52行freeKeyValuePair這個函數是釋放內存空間 3.頭文件 struct結構體KeyValuePair就是一個指針一個值 4…

GO語言 服務發現概述

https://zhuanlan.zhihu.com/p/32027014 明明白白的聊一下什么是服務發現-CSDN博客 一、服務發現 是什么 在傳統的系統部署中,服務運行在一個固定的已知的 IP 和端口上,如果一個服務需要調用另外一個服務,可以通過地址直接調用。 但是&…

軟件巨頭SAP裁員優厚條件,吸引5300名員工爭相離職

導語 大家好,我是社長,老K。專注分享智能制造和智能倉儲物流等內容。 新書《智能物流系統構成與技術實踐》 在科技行業的大潮中,SAP公司近日因一項頗具爭議的裁員計劃而備受矚目。但這次裁員風波并未如往常般引發員工的強烈抗議,反…

D365 子窗體調用父窗體方法

文章目錄 一、在子窗體中調用父窗體公共方法二、刷新 CallerForm 數據源 一、在子窗體中調用父窗體公共方法 Object callerForm element.args().caller(); if(callerForm is FormRun && formHasMethod(callerForm, identifierStr(parentMethod))) {callerForm.parent…

知網-數學學習與研究-收稿郵箱

知網-數學學習與研究-收稿郵箱 《數學學習與研究》雜志是由東北師范大學主管,吉林省數學會與東北師范大學出版社聯合主辦的省級優秀數學類期刊雜志。 主管單位:東北師范大學 主辦單位:吉林省數學會;東北師范大學數學與統計學院 創刊時間1983…

AI學習指南機器學習篇-決策樹基本原理

AI學習指南機器學習篇-決策樹基本原理 在機器學習領域,決策樹是一種常見且十分重要的算法。它不僅在分類任務中被廣泛應用,還可以用于回歸任務。本篇博客將詳細介紹決策樹的基本原理,包括節點、分裂準則、信息增益、基尼不純度等概念&#x…

msvcr120.dll丟失怎樣修復?為什么msvcr120.dll文件很重要

msvcr120.dll? 是一個屬于 Microsoft Visual C 2013 Redistributable package 的動態鏈接庫文件。這個文件對于運行使用 Visual Studio 2013 開發的應用程序是必要的,因為它包含了C運行時庫的一部分功能,這些功能是標準C庫中與輸入/輸出操作、字符串操作…

OpenCV中的圓形標靶檢測——斑點檢測算法(二)

前面的章節中我們已經大致介紹了算法流程,也對一些算法中用到的相關概念做了簡要介紹,同時給出了算法調用的API,現在我們開始算法檢測接口實現源碼的分析。 1. 斑點的分組與加權 這里我們選擇后者,先了解算法的處理流程,再分析各個模塊的實現。算法流程圖如下圖所示,上一…

android中調用onnxruntime框架

創建空白項目 安裝Android Studio及創建空白項目參考:【安卓Java原生開發學習記錄】一、安卓開發環境的搭建與HelloWorld(詳細圖文解釋)_安卓原生開發-CSDN博客 切記:build configuration language 一定選擇Groovy!官…

51單片機-LCD液晶顯示

目錄 前言: 一. LCD1602模塊簡介 二. 代碼功能實現 三.總結 前言: 本文主要是51單片機的LCD液晶顯示,使用的是LCD1602.下面是詳細介紹和完整代碼,歡迎大家的點贊,評論和關注.感謝. 一. LCD1602模塊簡介 LCD1602 模塊具有以下特點: 顯示特點: 可以…

MySQL 將null轉0 ifnull() coalesce()

做統計報表的時候,有時候不希望查出來的值是null,因為在代碼中需要做大量的判空,最后轉換成0來處理。既然如此,那在sql中查出來就是0,就不用為空而去判空了。 1.IFNULL() ifnull()只能放2個值。 select IFNULL(null,0…

[240608] Zig 發布 v0.13.0 |AMD 新處理器不支持 Win 10 |DuckDuckgo 發布AI匿名聊天服務

目錄 Zig 發布 0.13.0 版本AMD 下一代銳龍處理器不支持 Windows 10DuckDuckgo 發布 AI 匿名聊天服務 Zig 發布 0.13.0 版本 Zig 發布 0.13.0 版本,此次發布的主要目的是升級 zig 工具鏈,發布重點如下: 工具鏈升級: LLVM&#xf…

DevOps的原理及應用詳解(六)

本系列文章簡介: 在當今快速變化的商業環境中,企業對于軟件交付的速度、質量和安全性要求日益提高。傳統的軟件開發和運維模式已經難以滿足這些需求,因此,DevOps(Development和Operations的組合)應運而生&a…

企業建站響應式網站建設平臺版源碼系統 海量模版可選擇 帶完整的安裝代碼以及搭建教程

系統概述 企業建站響應式網站建設平臺版源碼系統是一款集創新性、實用性和便捷性于一體的建站解決方案。它旨在為用戶提供一站式的網站建設服務,無論你是新手還是經驗豐富的開發者,都能通過該系統輕松實現網站的構建與部署。 該系統采用先進的技術架構…

單鏈表復習 (C語言版)

目錄 一.順序表與鏈表的區別 二.鏈表概念 三.單鏈表 1.單鏈表的開始與初始化 2.單鏈表的打印 3.單鏈表的尾插 重難點:單鏈表實現時的指針詳解 4.單鏈表的頭插 5.單鏈表的尾刪 6.單鏈表的頭刪 小結: 7.單鏈表的查找 8.在指定位置前插入數據 …