浅谈`AI`的那些事-环境搭建

news2024/10/2 20:33:08

人工智能(AI)-环境搭建

目录导航

  • 人工智能(`AI`)-环境搭建
    • 1. 为什么人工智能(`AI`)首选Python?
    • 2. python在AI上的优势
      • 2.1 python在AI上的优势
        • 2.1.1 语法简单,编码少。
        • 2.1.2 内置了几乎所有的AI项目库
        • 2.1.3 开源和可用于广泛编程
      • 2.2 python的特点
    • 3. `PyTorch`环境配置及安装
      • 3.1 安装、使用环境
        • 3.1.1 `Windows`环境下
        • 3.1.2 `Anaconda`下载安装
        • 3.1.3 直接安装 Pytorch
    • 4. 相关文档

1. 为什么人工智能(AI)首选Python?

为何人工智能(AI)首选Python?读完这篇文章你就知道了。我们看谷歌的TensorFlow基本上所有的代码都是C++和Python,其他语言一般只有几千行 。

如果讲运行速度的部分,用C++,如果讲开发效率,用Python,谁会用Java这种高不成低不就的语言搞人工智能呢?Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具(MATLAB也能搞科学计算,但是软件要钱,且很贵),从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单高效。

Python有非常多优秀的深度学习库可用,现在大部分深度学习框架都支持Python,不用Python用谁?人生苦短,就用Python。

python现在的确已经很火了,这已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。

不过市场上还有一些杂音。最近一个有意学习数据科学的朋友跟我说,她的一个朋友建议她从 Java 入手,因为 Hadoop 等大数据基础设施是用 Java 写的。

在这里我要明确表个态,对于希望加入到 AI 和大数据行业的开发人员来说,把鸡蛋放在 Python 这个篮子里不但是安全的,而且是必须的。或者换个方式说,如果你将来想在这个行业混,什么都不用想,先闭着眼睛把 Python 学会了。当然,Python不是没有它的问题和短处,你可以也应该有另外一种甚至几种语言与 Python 形成搭配,但是Python 将坐稳数据分析和 AI 第一语言的位置,这一点毫无疑问。

我甚至认为,由于 Python 坐稳了这个位置,由于这个行业未来需要大批的从业者,更由于Python正在迅速成为全球大中小学编程入门课程的首选教学语言,这种开源动态脚本语言非常有机会在不久的将来成为第一种真正意义上的编程世界语。

短短几年时间,图片自动归类、人脸识别已经成为非常通用的功能,自然语言作为一种交互方式正在被各种语音助理广泛运用,无人车驾驶突飞猛进,AlphaGo战胜围棋冠军,仿生机器人的技术迭代,未来几十年的城市交通和人类的生活方式都将会被人工智能所改变。

Python作为人工智能首选编程语言,随着人工智能时代的到来,Python开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子,还有python的是可移植性、可扩展性、可嵌入性、少量代码可以做很多事,这就是为何人工智能(AI)首选Python。

2. python在AI上的优势

2.1 python在AI上的优势

近年来人工智能的兴起,使python语言相较于C++,Java等编程语言,获得了极大的普及,其在人工智能上的优势如下:

2.1.1 语法简单,编码少。

和传统的 C/C++、Java、C#等语言相比,Python 对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。非计算机专业的人员也能轻松学习python程序。

2.1.2 内置了几乎所有的AI项目库

前面说了python是一门很容易入门的编程语言,其主要原因还在于其内置了很多库,这些内置库使我们不需要自己去写底层的很多复杂代码,需要什么库直接就可以调用。同时,它包括了几乎所有类型的AI项目库,如 NumPy,SciPy,matplotlib,nltk,SimpleAI等一些重要的python内置库。

2.1.3 开源和可用于广泛编程

python是一种开源的编程语言,这使它在社区中广泛流行。其可用于广泛的编程任务的特点,如小型shell脚本到企业Web应用程序,也是python适用于AI项目的另一个原因。

2.2 python的特点

Python是一种高级,解释,交互式和面向对象的脚本语言。Python的设计具有高可读性。它经常使用英语关键词,而其他语言使用标点符号,并且它的语法结构比其他语言少。Python的功能包括以下内容:

  • 易于学习 - 学习曲线低,跟其他很多语言相比,Python更容易上手。

  • 易于阅读 - Python代码更清晰,更明显。代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

  • 易于维护 - Python的源代码非常易于维护。

  • 广泛的标准库 - Python的大部分库在UNIX,Windows和Macintosh上非常便携且跨平台兼容。

  • 交互模式 - Python支持交互模式,允许交互式测试和调试代码片段。

  • 便携式 - Python可以在各种硬件平台上运行,并且在所有平台上都具有相同的界面。

  • 可扩展 - 我们可以向Python解释器添加低级模块。 这些模块使程序员能够更高效地添加或定制他们的工具。与shell脚本相比,Python为大型程序提供了更好的结构和支持。可以调用C/C++代码,也可以在C/C++中调用Python。

  • 数据库 - Python为所有主要商业数据库提供接口。

  • GUI编程 - Python支持GUI应用程序,可以创建和移植到许多系统调用,库和Windows系统,如Windows MFC,Macintosh和Unix的X Window系统。

3. PyTorch环境配置及安装

3.1 安装、使用环境

3.1.1 Windows环境下

  1. CUDA官网使用IDM下载就很快乐;
  2. Anaconda在官网下载就行,python环境的话,我这里之前安装过了,所以大家可以去自己百度,很简单;
  3. Pycharm也是直接装,这里就不多作介绍了。

3.1.2 Anaconda下载安装

  • 下载
    在机器学习,深度学习中,要用到大量的 package(就是各种工具包)。如果说,函数是一个工具,那么 package 就是一个工具包。一个个安装 package 很麻烦,而且容易出现疏漏。于是,就有了 Anaconda,这是一个集成了常用于科学分析(机器学习,深度学习)的大量package。
    也就是说,你只要安装了 Anaconda,就安装了很多我们之后要用的许多packages。

  • 安装

    1. 点击安装程序,选择路径

    在这里插入图片描述

    2. 选择是否安装VS,安装过的跳过
    在这里插入图片描述
    检验是否安装成功,在开始菜单出,左击 Anaconda Prompt
    在这里插入图片描述
    打开后,左边有 (base),即安装成功。
    在这里插入图片描述

  • Pytorch环境

    当你遇到不同的项目,需要使用到不同版本的环境。比如这个项目要用到 pytorch 0.4,另一个项目要用到 pytorch 1.0,如果你卸载了0.4版本,安装了1.0版本。那么下一次,你再碰到0.4版本,你就需要卸载1.0版本,安装0.4版本。很折腾。

    Anaconda 集成的 conda 包就能够解决这个问题。它可以创造出两个屋子,相互隔离。一个屋子放 0.4 版本,一个屋子放 1.0 版本。你需要哪个版本,就进哪个屋子工作。
    我们首先使用 conda 指令创建一个屋子,叫做 pytorch。

    ## conda 是指调用 conda 包,create 是创建的意思
    ## -n 是指后面的名字是屋子的名字
    ## pytorch是屋子的名字(可以更改成自己喜欢的)
    ## python=3.6 是指创建的屋子,是 python3.6 版本。
    conda create -n pytorch python=3.6  
    

接下来,我们要在 pytorch 环境中,安装 PyTorch,使用如下指令,进入 pytorch 环境。

conda activate pytorch

到这里,基本的准备工作我们就弄好了。

3.1.3 直接安装 Pytorch

值得一提的是,PyTorch 在这方面做的真的好,不需要再人工安装 CUDA、cuDNN 之类的,全部都给你解决了。

具体内容,请查看官网内容

4. 相关文档

  • 为什么说:人工智能(AI)首选Python? - 知乎 (zhihu.com)
  • Anaconda 的下载地址
  • Anaconda历史版本链接)
  • Pytorch 官网
  • 2. 2 环境及工具包介绍-2.3 python 环境搭建_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM详解——垃圾回收

如果有兴趣了解更多相关内容的话,可以看看我的个人网站:耶瞳空间 GC:垃圾收集(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存。不当的回收可能会导致程序或系统的不稳定甚至崩溃&…

PHP面向对象05:MVC和smarty

PHP面向对象05:MVC 和 smarty一、MVC思想二、MVC代码设计三、项目单一入口四、Smarty模板技术1. 模板技术原理2. Smarty简单使用3. Smarty配置五、Smarty模板变量六、Smarty内置函数七、Smarty外部函数一、MVC思想 MVC思想,是一种基于面向对象思想形成的…

如何将本地文件自动备份到百度网盘?

如何将本地文件自动备份到百度网盘?说到网盘的使用,大家第一个想到的肯定是百度网盘,百度网盘第一个提出网盘这个概念,相信很多小伙伴都是百度网盘的忠实用户,大家也非常喜欢使用百度网盘来存储文件。为什么百度网盘深…

Apache Hadoop生态部署-kafka单机安装

目录 Apache Hadoop生态-目录汇总-持续更新 一:安装包准备 二:安装与常用配置 2.1:下载解压安装包 2.2:配置环境变量 2.3:配置修改server.properties 三:维护kafka 3.1 编写维护脚本 3.2 启动kafk…

el-cascader 级联选择器懒加载的使用及回显 + 点击任意一级都能返回

需要实现的需求 数据渲染使用懒加载点击任意一级都可返回&#xff0c;不需要一直点到最后一级编辑或者查看功能&#xff0c;回显之前选择的数据 实例解析 dom 元素 <el-cascaderv-model"value":options"options":props"props":key"n…

华为服务器驱动下载及安装

1.服务器技术支持网站 https://support.xfusion.com/support/#/zh/home 2.选择软件下载 3.选择服务器型号 4.选择驱动 5.根据需求选择驱动 例如红帽7.4系统 6.安装驱动 自动安装驱动步骤&#xff1a; 1)使用BMC虚拟光驱挂载onboard_driver_xxx.iso: 2)mount /dev/sr0 /mnt …

【vue3】ref , reactive ,toRef ,toRefs 使用和理解

这篇文章是基于理解写的&#xff0c;仅助于理解&#xff0c;如有任何错误之处&#xff0c;感谢指正&#xff01; 文章目录一.ref的使用1. ref的功能主要有两个&#xff1a;2.使用ref注意事项二.reactive的使用三.使用ref 和 reactive 实现双向数据绑定四.toRef 和 toRefs 的使用…

ARM uboot 源码分析7 - uboot的命令体系

一、uboot 命令体系基础 1、使用 uboot 命令 (1) uboot 启动后进入命令行环境下&#xff0c;在此输入命令按回车结束&#xff0c;uboot 会收取这个命令然后解析&#xff0c;然后执行。 2、uboot 命令体系实现代码在哪里 (1) uboot 命令体系的实现代码在 uboot/common/cmd_xx…

PA的包络跟踪电源

对于传统PA&#xff0c;电源一般设计成固定电压供电&#xff0c;电压不可变化。这种设计对于GSM和GPRS等使用恒定包络GMSK调制的系统来说&#xff0c;PA的效率是比较高的。 ​但随着追求更高的数据吞吐量以及更高的频谱效率&#xff0c;在现代的通信系统中使用了更复杂的调制方…

react定义css样式,使用less,css模块化

引入外部 css文件 import ./index.css此时引入的样式是全局样式 使用less 安装 npm i style-loader css-loader sass-loader node-sass -D生成config文件夹 npm run eject配置 以上代码运行完&#xff0c;会在根目录生成config文件夹 进入 config > webpack.config.js 查找…

基于jeecgboot的flowable为uniapp适配的流程页面调整

为了满足在uniapp上也能进行webview的流程页面操作与显示&#xff0c;需要对流程页面&#xff0c;特别是record/index.vue进行修改与适配。 一、对各个内容的宽带进行调整 主要是样式的调整 <el-col :span"16" :offset"4" 都修改成<el-col :span…

倾向得分匹配只看这篇就够了

一、倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的&#xff0c;首次运用在生物医药领域&#xff0c;后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素&#xff08;干扰因素&#xff09;的偏差。 …

协作对象死锁及其解决方案

协作对象死锁及其解决方案 1.前言 在遇到转账等的需要保证线程安全的情况时&#xff0c;我们通常会使用加锁的方式来保证线程安全&#xff0c;但如果无法合理的使用锁&#xff0c;很可能导致死锁。或者有时我们使用线程池来进行资源的使用&#xff0c;如调用数据库&#xff0…

Swagger狂神学习笔记

学习目标&#xff1a; 了解Swagger的概念及作用 掌握在项目中集成Swagger自动生成API文档 前后端分离 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 产生的问题 前后端集成&#xff0c;前端或…

支持U盘数据、误删文件、硬盘数据 、回收站数据恢复的软件

好用的Windows数据恢复软件的标准 在数字和信息经济时代&#xff0c;数据是必不可少的。没有人可以承受由于意外删除、格式化和其他原因导致数据丢失的风险。与其在数据恢复服务上花费大量资金或花费大量时间努力自己取回数据&#xff0c;用户更喜欢使用Windows数据恢复软件…

Ask林曦|来回答,30个你关心的日常问题(一)

在林曦老师的线上书法直播课上&#xff0c;上课前后的聊天时间里&#xff0c;时常有同学向林曦老师提问&#xff0c;这些问题涵盖了日常生活的诸多方面&#xff0c;从身体的保养&#xff0c;到快乐的法门&#xff0c;皆是大家感兴趣的&#xff0c;也都共同关切的。      暄…

破解票房之谜:为何高票房电影绕不过“猫眼们”?

如此火爆的春节档很多&#xff0c;如此毁誉参半的春节档鲜有。2023开年&#xff0c;集齐张艺谋、沈腾的《满江红》&#xff0c;以及有票房前作打底的《流浪地球2》接连两部春节档电影票房进入前十&#xff0c;为有些颓靡的中国电影市场注入了一针“强心剂”。与票房同样热闹起来…

git实战技巧-本地刚做出的修改、暂存和提交如何进行撤销

1、解决思路工作区和暂存区内容的撤销&#xff0c;直接按照对应命令或者IDEA界面完成操作就行。对于已提交的撤销回滚建议如下&#xff1a;1. 代码如果仅仅是回撤到指定版本&#xff0c;该版本之上的更新是不需要的&#xff0c;选择Hard模式。2. 代码回撤到指定版本时&#xff…

父传子与子传父步骤

父传子&#xff1a; 问题&#xff1a;父页面中引入子组件 把想要传给子页面的值用在子组件中用 &#xff1a;值“值” (用同一个值好区分)来绑定。 在子页面中用props接收 子组件不能改变父组件传过来的值。&#xff08;传多个页面的时候是&#xff0c;比如父传孙的时候我会…

2020蓝桥杯真题门牌制作(填空题) C语言/C++

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户&#xff0c;门牌号从 1 到2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符&#xff…