当前位置: 首页 > 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…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...