当前位置: 首页 > news >正文

从零入手人工智能(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()

在这里插入图片描述
在这里插入图片描述

相关文章:

从零入手人工智能(2)——搭建开发环境

1.前言 作为一名单片机工程师,想要转型到人工智能开发领域的道路确实充满了挑战与未知。记得当我刚开始这段旅程时,心中充满了迷茫和困惑。面对全新的领域,我既不清楚如何入手,也不知道能用人工智能干什么。正是这些迷茫和困惑&a…...

Web前端指南

前言 前端开发员主要负责网站的设计、外观和感觉。他们设计引人入胜的在线用户体验,激发用户兴趣,鼓励用户重复访问。他们与设计师密切合作,使网站美观、实用、快捷。 如果您喜欢创造性思维、打造更好的体验并对视觉设计感兴趣,这将是您的理想职业道路。 探讨前端、后端以…...

AI菜鸟向前飞 — LangChain系列之十七 - 剖析AgentExecutor

AgentExecutor 顾名思义,Agent执行器,本篇先简单看看LangChain是如何实现的。 先回顾 AI菜鸟向前飞 — LangChain系列之十四 - Agent系列:从现象看机制(上篇) AI菜鸟向前飞 — LangChain系列之十五 - Agent系列&#…...

nodejs 第三方库 exiftool-vendored

exiftool-vendored 是一款可以帮助你快捷修改图片信息的第三方库。如果你想要批量修改图片信息的话,那么它是一个不错的选择。 1.导入第三方库 在控制台中执行下面代码即可。 npm install exiftool-vendored --save2.获取信息 这里给出例子。 const { exiftool …...

docker部署redis实践

1.拉取redis镜像 # 拉取镜像 sudo docker pull redis2.创建映射持久化目录 # 创建目录 sudo mkdir -p $PWD/redis/{conf,data}3. 运行redis 容器,查看当前redis 版本号 # 运行 sudo docker run --name redis -d -p 6379:6379 redis # 查看版本号 sudo docker ex…...

Web前端学习之路:深入探索学习时长与技能进阶的奥秘

Web前端学习之路:深入探索学习时长与技能进阶的奥秘 在数字化时代,Web前端技术成为了连接用户与互联网世界的桥梁。对于初学者来说,学习Web前端究竟需要多久,以及如何高效掌握相关技能,一直是困扰他们的难题。本文将从…...

如何不用命令创建用户

都有哪些操作: 1、在/etc/passwd添加一行 2、在/etc/shadow添加一行 3、在/etc/group添加一行 4、创建用户家目录 5、创建用户邮件文件 例如: 创建用户jerry 要求: uid:777 主组:hadoop(800&#xff09…...

基于Python实现可视化分析中国500强排行榜数据的设计与实现

基于Python实现可视化分析中国500强排行榜数据的设计与实现 “Design and Implementation of Visual Analysis for China’s Top 500 Companies Ranking Data using Python” 完整下载链接:基于Python实现可视化分析中国500强排行榜数据的设计与实现 文章目录 基于Python实现…...

VUE3 学习笔记(13):VUE3 下的Element-Plus基本使用

UI是页面的门面,一个好的UI自然令人赏心悦目;国人团队开发的ElementUI在众多UI中较为常见,因此通过介绍它的使用让大家更好的了解第三方UI的使用。 安装 Npm install element-plus --save 或 Cnpm install element-plus --save 配置 全局配置…...

MySql数据库安全加固

设置密码复杂度策略 查看密码策略 SHOW VARIABLES LIKE validate_password%; 设置密码策略 INSTALL PLUGIN validate_password SONAME validate_password.so; 设置登陆失败策略 安装插件(谨慎操作,可能会导致数据库卡死) install plug…...

Nginx(title小图标)修改方法

本章主要讲述Nginx如何上传网站图标。 操作系统: CentOS Stream 9 首先我们bing搜索ico网站图标在线设计,找到喜欢的设计分格并下载。 是一个压缩包 然后我们上传到nginx解压 [rootlocalhost html]# rz[rootlocalhost html]# unzip favicon_logosc.z…...

iOS 17.5中的一个漏洞

i0S 17.5中的一个漏洞 iOS 17.5中的一个漏洞会使已刚除的照片重新出现,并目此问题似乎会影响甚至已擦除并出售给他人的 iPhone 和 iPad. 在2023年9月,一位Reddit用户根据Apple的指南擦除了他的iPad,并将其卖给了一位朋友。然而,这…...

如何在 iPhone 上恢复已删除的短信

本文介绍如何检索已删除的短信和 iMessage 以及恢复丢失的消息。说明适用于 iOS 17 及更高版本。 如何在 iOS 17及更高版本中恢复文本 恢复已删除短信的最简单方法是使用 iOS 17。从删除短信到恢复它有 30 到 40 天的时间。 在“信息”的对话屏幕中,选择“过滤器”…...

矩阵练习1

73.矩阵置零 这道题相对简单。 首先我们需要标记需要置零的行和列,可以在遍历矩阵中的元素遇到0,则将其行首和列首元素置为0。在此过程中首行、首列会受影响,因此先用两个变量记录首行、首列是否需要被置0,接着遍历非首行、非首…...

【C++ | 拷贝赋值运算符函数】一文了解C++的 拷贝赋值运算符函数

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-09 1…...

Linux网络安全

文章目录 一、网络安全概述二、常用服务端口三、 ping命令的使用3.1、ping命令的简单概述3.2、ping命令的使用 四、资源限制4.1、查看系统资源限制4.2、临时修改资源限制4.3、永久修改资源限制 五、网络安全服务工具介绍5.1、ClamAV5.2、Nmap5.3、Wireshark5.4、Netcat5.5、Sno…...

Django 视图类

在Django框架中,视图类(Class-based views,简称CBVs)提供了一个面向对象的方式来定义视图。这种方式可以让你通过创建类来组织视图逻辑,而不是使用基于函数的视图(Function-based views,简称FBV…...

【Java面试】十七、并发篇(上)

文章目录 1、synchronized关键字的底层原理:Monitor2、synchronized相关2.1 为什么说synchronized是重量级锁2.2 synchronized锁升级之偏向锁2.3 synchronized锁升级之轻量级锁 3、Java内存模型JMM4、CAS4.1 CAS流程4.2 CAS底层实现 5、volatile关键字的理解5.1 可见…...

七天进阶elasticsearch[one]

elasticSearch 概述 Elasticsearch是一个近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个很小的延迟(通常是一秒) 集群 一个集群就是由一个或多个节点组织在一起, 它们共同持有你全部的数据&#x…...

全新抖音快手小红书视频解析去水印系统网站源码

这个系统支持几十种平台,包括抖音、快手小红书以及其他热门社交媒体平台。它可以帮助轻松地下载这些平台上的任何视频,并去除其中的水印,让你可以自由地保存和分享这些视频。 使用方法: 上传压缩包解压,网站信息在inc…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...