AI编程常用工具 Jupyter Notebook

news2024/11/18 1:31:18

点击上方蓝色字体,选择“设为星标”

回复”云原生“获取基础架构实践

2e074f1179feeea08f57c943cb123950.jpeg

深度学习编程常用工具

我们先来看 4 个常用的编程工具:Sublime Text、Vim、Jupyter。虽然我介绍的是 Jupyter,但并不是要求你必须使用它,你也可以根据自己的喜好自由选择。

Sublime Text

第一个是 Sublime Text,它是一个非常轻量且强大的文本编辑工具,内置了很多快捷的功能,同时还支持很丰富的插件功能,对我们来说非常方便。

7f3e7591c26a8fd8a651d1fd5273fa55.png

如上图所示,它可以自动为项目中的类、方法和函数生成索引,我们让我们可以跟踪代码。可以通过它的 goto anything 功能,根据一些关键字查找到项目中的对应的代码行。

Vim

第二个是 Vim,它是 Linux 系统中的文本编辑工具,方便快捷且强大,我们在项目中经常会使用到。

在我们的项目中,经常需要登录到服务器上进行开发,而服务器一般都是 Linux 系统,不会有 Sublime Text 与 Pycharm,所以我们可以直接用 Vim 打开代码进行编辑。对于没有接触过 Linux 或者是一直使用 IDE 进行编程开发的同学,一开始可能觉得不是很方便,但 Vim 的快捷键十分丰富,对于 Shell 与 Python 的开发来说非常便捷。

Vim 的缺点正如刚才所说,有一点点门槛,需要你去学习它的使用方法。只要你学会了,我保证你将对它爱不释手。

Jupyter Notebook & Lab

最后一个是今天要介绍的 Jupyter Notebook 了,它是一个开源的 Web 应用,能够让你创建、分享包含可执行代码、可视化结构和文字说明的文档。

Jupyter Notebook 的应用非常广泛,它可以用在数据清理与转换、数字模拟、统计模型、数据可视化、机器学习等方面。

Jupyter Notebooks 非常活跃于深度学习领域。在项目的实验测试阶段,它相比于用 py 文件来直接编程还是方便一些。在项目结束之后如果要写项目报告,用 Jupyter 也比较合适。

简单介绍之后,我们接下来就从 Jupyter 的功能、Jupyter 的安装与启动与 Jupyter Lab 的操作这 3 个方面学习 Jupyter。

Jupyter Notebook & Lab 的功能

Jupyter 主要有以下 3 点的作用:执行代码、数据可视化以及使用 Markdown 功能写报告。

  • 执行代码。一般是 Python 程序,也可以添加新的编程语言。

  • 数据可视化。设想一下,我们经常在 Linux 环境编程开发,如果需要对数据可视化该怎么办呢?是不是只能把图片保存下来,然后下载到本地进行查看?使用 Jupyter Notebook 就不用多此一举,我们可以直接在页面中查看。如下图所示:

32fdfdffc7d46266c8c2c2eca33005e2.png

  • 使用 Markdown 功能写文档,或者制作 PPT。这些文档中还包含代码以及代码执行后的结果,非常有助于你书写项目报告。

Jupyter Notebook & Lab 的安装与启动

了解了 Jupyter 的功能之后,我们来看看具体要如何进行安装与启动。这一节我介绍了 3 种安装和启动的方式,分别是 Anaconda、Docker 和 pip。

使用 Anaconda 安装与启动

我们先来看如何使用 Anaconda 来安装与启动。

安装

最简单的方法是通过安装 Anaconda 来使用 Jupyter Notebook & Lab。Anaconda 已自动安装了 Jupter Notebook 及其他工具,还有 Python 中超过 180 个科学包及其依赖项。你可以通过 Anaconda 的官方网站得到 Anaconda 的下载工具。

启动

这里我会分 MacOS 系统和 Win 环境来讲解。

(1)MacOS 系统

安装完 Anaconda 之后,打开终端后系统会默认进入 base 环境。

在命令行最前面有个**(base)**的标志则表示代码进入 base 环境了,如果没有就需要通过下面的命令激活 base 环境:

conda activate base

在 base 环境下执行下面的命令,会自动进入 Jupyte Notebook 的开发环境。

jupyter notebook

执行下面的命令,则会自动进入到 Jupyter Lab 的开发环境。

jupyter lab

(2)Win 环境

Windows 环境中的启动方式与 MacOS 基本一样。

当你想通过命令 Jupyter Notebook 或 Jupyter Lab 启动时,你需要在 Anaconda Prompt 中执行。

8a0ef31801dff2b9b16017767e93b208.png

通过 Anaconda Navigator 启动的方式与 MacOS 一样。

使用 Docker

通过 Docker 使用 Jupyter 也非常简单,连安装都不需要,但前提是你要有 Docker 相关的知识。

使用 pip 安装与启动

了解完 Anaconda 和 Docker 的安装与启动方式后,我们最后来看 pip 是如何安装和启动的。

安装

通过 pip 安装 Jupyter Notebook:

pip install Jupyter

通过 pip 安装 Jupyter Lab:

pip install Jupyterlab

启动

安装完成后,直接在终端执行 Jupyter Notebok 或 Jupyter Lab 命令启动。

不管在 MacOS 系统还是在 Windows 系统,通过以上任意一种方式成功启动后,浏览器都会自动打开 Jupyter Notebook 或 Jupyter Lab 的开发环境:

82c96010e941274bdeab101c5171051c.png

Jupyter Lab 的操作

Jupyter Lab 是 Jupyter Notebook 的下一代产品,在使用方式上更为灵活、便捷。

我们在命令行或者 Anaconda Navigator 中启动 Jupyter Lab 之后,浏览器会自动打开如下所示的 Jupyter Lab 界面:

df9fa1189a202aeb85bf9bffaababb44.png

最左侧显示的是你启动时所在的目录,右侧是你可以使用的一些开发工具。

Notebook

点击 Notebook 下面的“Python 3”的图标之后,就会自动新建一个 Notebook。

  • Jypter Lab 与 Jupyter Notebook 中都会用到这个叫作 Notebook 的编辑工具。

  • Jupyter Lab 与 Jupyter Notebook 不同的地方是 IDE 的界面以及操作方式,这里讲解用的是 Jupyter Lab 的操作。

一个 Notebook 的编辑界面主要由 4 个部分组成:菜单栏、工具栏、单元格(Cell)以及内核。如下图所示:

cf17637fbf1cfe9cc05b28eda6bcf113.png


菜单栏与工具栏这里就不详细介绍了。我们先来看单元格(Cell),然后再介绍内核。

单元格(Cell)

单元格是我们 Notebook 的主要内容,这里我会介绍两种单元格。

  • Code 单元格:包含可以在内核运行的代码,并且在单元格下方输出运行结果。

  • Markdown 单元格:包含运用 Markdown 的文档,常用于文档的说明,也是可以运行的单元格。

从 Code 单元格切换到 Markdown 单元格的切换的快捷键是 m;从 Markdown 单元格切换到 Code 单元格的切换的快捷键是 y。

切换之前需要先按 Esc,从单元格的编辑状态中退出。

在工具栏中也可以切换,但是还是快捷键方便些。工具栏的位置在下图中红框的位置:

d7360bd0a4ce929f8537f7f6f9f0fce2.png

我们看一个例子。我编辑了下面的 Notebook。第一行是 1 个 Markdown 单元格,是 1 个一级标题,第二行是 1 个 Python 的代码。两行代码都是未运行状态。

e1b961769d50de4a8493fdec249f3f39.png

你注意到左边那个蓝色的竖条了吗?它代表我们所在的单元格。

我们在编辑这个单元格的时候,左边是绿色的竖条。如果我们按 Esc 退出单元格,它就会变为蓝色。

退出单元格后,我们可以通过上下键移动选中的单元格。我们移动到第一行,然后开始运行这两个单元格。

运行单独一个单元格的快捷键 Ctrl+Enter,运行选中单元格并切换到下一个单元格的快捷键是 Shift + Enter。运行结果如下图所示:

b7591a052cf3766548d463c277402e40.png

Markdown 没有左边的“[]”标签,通过这一点你可以区分 Code 单元格与 Markdown 单元格。

“[]”中的数字代表单元格被执行的顺序,例子中“[1]”代表第一个被执行的单元格。

以上就是单元格的内容了。我们接下来看看,单元格中的一些快捷键的使用。

(1)快捷键

如果你是用 Jupyter 进行开发,掌握单元格的快捷键能让你的开发速度变得更快,下面我列举了几个常用的快捷键:

  • 执行单元格 Ctrl+Enter 或 Shift+Enter;

  • a 在单元格上方插入新的单元格;

  • b 在单元格下方插入新的单元格;

  • x 删除单元格;

  • z 撤销删除的单元格。

(2)Magic 命令

Jupyter Notebook 的前身是 IPython Notebook,所以 Jupyter 也支持 IPython 的 Magic 命令。IPython 是一个比 Python 自带的 Shell 更加灵活方便的 Shell,它主要活跃于数据科学领域。

Magic 命令分两种:

  • Line Magics 命令:在命令前面加%,表示只在本行有效

  • Cell Magics 命令:在命令前面加%%,表示在整个 Cell 单元有效。

下面我介绍几个常用的 Magic 命令。

  • %lsmagic:用来查看可以使用的 Magic 命令。

59a3c36582d3f50903be45f34220940d.png

  • %matplotlib inline:可以在单元格下面直接打印出 matplotlib 的图标,通常要在 matplotlib 模块引入之前使用;使用这个 Magic 命令之后,可以不用 plt.show()。

  • %pwd:查看当前的文件路径。

  • %%writefile:写文件,%%writefile 后面紧跟着文件名,然后下面写文件的内容。

  • %run:运行一个文件,%run 后面跟着要运行的文件。

  • %load:加载文件。使用%load + 文件名可以把指定的文件加载到单元格内。请看下面的例子,我们要把 temp.py 加载到单元格里,首先是执行前,

(3)Markdown 命令

了解了 Magic 命令后,我们再来看 Markdown 命令。Markdown 是一种在 Markdown 单元中用于格式化文本的语言,常用于 Notebook 的文档说明,我们列举了几个常用的命令。

  • 标题:通过井号的数目可以决定标题的大小。

# 一级标题:

## 二级标题:

### 三级标题:

#### 四级标题:

##### 五级标题:
  • 列表:分为无序列表与有序列表。

## 无序列表

- 项目 1

- 项目 2

## 有序列表

1. 项目 1 (1. 与项目 1 之间有一个空格)

2. 项目 2
  • 字体:可以通过"*"或者_的数目控制强调的内容,即斜体、加粗以及粗斜体。具体的请看下面的例子。

*斜体*

**加粗**

***粗斜体***

或者

_斜体_

__加粗__

___粗斜体___

(4)调用系统命令

最后,在 Notebook 中还可以调用所在操作系统的命令,只需要在命令前加一个“!”就可以了。例如,在 Linux 系统中查看当前路径:

!pwd

下面给大家介绍几本好书,目前销售火热,有原理加实战,感兴趣可以点击下方链接购买。

开源项目

  实践项目代码开源:https://gitee.com/damon_one/microservice-k8s

欢迎大家star、fork,欢迎联系我,一起学习。

号内回复“云原生”,获取云原生基础架构实践

30b354eed3e0ffe0ab672cdef455a905.png

云原生社区合肥站

云原生社区合肥站正式启动啦,欢迎Base合肥、关注云原生、长期从事云原生的同志们踊跃加入,云原生社区合肥站会因为你们的加入而变得更加美好~

详情参见Issue:https://github.com/cloudnativeto/community/issues/107

联系号主

557a702fdcb87bc34ea8df93ce4c4f1d.jpeg

需要AI绘画,立码解决

欢迎关注个站

4f0094babe734258ba1b6fc0ef95afc4.png

往期回顾

微服务自动化部署CI/CD

如何利用k8s拉取私有仓库镜像

个站建设基础教程

ArrayList、LinkedList 你真的了解吗?

大佬整理的mysql规范,分享给大家

如果张东升是个程序员

微服务架构设计之解耦合

浅谈负载均衡

Oauth2的认证实战-HA篇

Oauth2的授权码模式《上》

浅谈开发与研发之差异

浅谈 Java 集合 | 底层源码解析

基于 Sentinel 作熔断 | 文末赠资料

基础设施服务k8s快速部署之HA篇

今天被问微服务,这几点,让面试官刮目相看

Spring cloud 之多种方式限流(实战)

Spring cloud 之熔断机制(实战)

面试被问finally 和 return,到底谁先执行?

Springcloud Oauth2 HA篇

Spring Cloud Kubernetes之实战一配置管理

Spring Cloud Kubernetes之实战二服务注册与发现

Spring Cloud Kubernetes之实战三网关Gateway

53df8f9f3deb3d5d97cc8d82d5f8809a.gif

77a831693288ac525351eef674b9efbe.gif

点击 "damon8.cn" 获取更好的阅读体验!

❤️给个「在看」,是对我最大的支持❤️

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

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

相关文章

C++中deque的底层讲解

1.前言 1.了解过queue和stack底层的或许了解过,库里面的底层实现,选择的默认容器就是deque,那他有什么好处呢? 2.先前了解过deque的接口会发现,他感觉像是vector和list的合体,什么接口都有: 很…

14.Netty源码之模拟简单的HTTP服务器

highlight: arduino-light 简单的 HTTP 服务器 HTTP 服务器是我们平时最常用的工具之一。同传统 Web 容器 Tomcat、Jetty 一样,Netty 也可以方便地开发一个 HTTP 服务器。我从一个简单的 HTTP 服务器开始,通过程序示例为你展现 Netty 程序如何配置启动&a…

CMU 15-445 -- Logging Schemes - 17

CMU 15-445 -- Logging Schemes - 17 引言IndexFailure ClassificationTransaction FailuresSystem FailuresStorage Media Failures Buffer Pool PoliciesShadow Paging: No-Steal ForceWrite-Ahead Log (WAL): Steal No-ForceLogging SchemesCheckpoints小结 引言 本系列为…

CoTracker跟踪器 - CoTracker: It is Better to Track Together

论文地址:https://arxiv.org/pdf/2307.07635v1.pdf 官方地址:https://co-tracker.github.io/ github地址:https://github.com/facebookresearch/co-tracker/tree/main 引言 在计算机视觉领域,光流估计是历史最久远的问题之一&a…

TCP如何保证服务的可靠性

TCP如何保证服务的可靠性 确认应答超时重传流量控制滑动窗口机制概述发送窗口和接收窗口的工作原理几种滑动窗口协议1比特滑动窗口协议(停等协议)后退n协议选择重传协议 采用滑动窗口的问题(死锁可能,糊涂窗口综合征)死…

大数据Flink(五十一):Flink的引入和Flink的简介

文章目录 Flink的引入和Flink的简介 一、Flink的引入 1、第1代——Hadoop MapReduce

60 # http 的基本概念

什么是 HTTP? 通常的网络是在 TCP/IP 协议族的基础上来运作的,HTTP 是一个子集。http 基于 tcp 的协议,在 tcp 的基础上增加了一些规范,就是 header,学习 http 就是学习每个 header 它有什么作用。 TCP/IP 协议族 协…

RN 设置背景图片(使用ImageBackground组件)

在RN版本0.46版本的时候添加了ImageBackground控件。ImageBackground可以设置背景图片,使用方法和image一样,里面嵌套了其他的组件 import React from "react"; import { ImageBackground, StyleSheet, Text, View } from "react-native…

【项目6 UI Demo】前端代码记录

前端代码记录 1.GridListItem中的布局 在这个Item中的布局采用的是VBox和HBox相结合的方式。相关的代码如下&#xff1a; <VBox class"sapUiTinyMargin"><HBox justifyContent"SpaceBetween"><Titletext"{ToolNumber}"wrapping…

C++之lambda表达式/function/using/typedef用法总结(一百六十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Linux基础以及常用命令

目录 1 Linux简介1.1 不同应用领域的主流操作系统1.2 Linux系统版本1.3 Linux安装1.3.1 安装VMWare1.3.2 安装CentOS镜像1.3.3 网卡设置1.3.4 安装SSH连接工具1.3.5 Linux和Windows目录结构对比 2 Linux常用命令2.0 常用命令&#xff08;ls&#xff0c;pwd&#xff0c;cd&#…

LinuxC语言-网络通信tcp/ip errno获取错误描述字符串

目录 服务端代码&#xff1a; 获取errno错误码&#xff1a; 客户端代码&#xff1a; 运行结果: 服务端代码&#xff1a; #include <stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<string.h> #include<netinet/in.h> #in…

在Mac上搭建Gradle环境

在Mac上搭建Gradle环境&#xff1a; 步骤1&#xff1a;下载并安装Java开发工具包&#xff08;JDK&#xff09; Gradle运行需要Java开发工具包&#xff08;JDK&#xff09;。您可以从Oracle官网下载适合您的操作系统版本的JDK。请按照以下步骤进行操作&#xff1a; 打开浏览器…

性能提升,SpringBoot 3.2虚拟线程来了

spring boot 3.2 会提供默认支持&#xff0c;必须Java19。 在以往的项目中&#xff0c;我们面临了这样一种情况&#xff1a;我们收到了数千个认证请求。为了确保安全性&#xff0c;我们依靠第三方系统发送短信 OTP 进行验证。然而&#xff0c;有时候第三方系统花费的时间比预期…

MySQL中锁的简介——表级锁-表锁

1.表级锁简介 2.读锁介绍 lock tables score read;3.写锁介绍 lock tables score write;

html中使用Vue+element UI动态创建表单数据不显示问题

直接上代码&#xff1a;html代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&…

什么是Class文件规范?

本文重点 前面我们说了JVM就是class的规范实现,那么class规范究竟是什么呢?本文进行详细的介绍 class文件 首先我们需要知道当javac将文件编译为class文件之后,此时的class文件其实是二进制(要么0要么1),但是如果我们将其转变为16进制之后,它的形式就清晰一些,如下所…

RNN架构解析——注意力机制

目录 注意力机制实现 注意力机制 实现

Activity 生命周期

在Android开发中&#xff0c;Activity是应用程序的主要组件之一&#xff0c;它代表应用程序中的一个屏幕或界面。当用户与应用程序进行交互时&#xff0c;Activity会根据用户的操作而启动、暂停、恢复或停止等&#xff0c;这些状态变化被称为Activity的生命周期。 Activity的生…

2023年进阶测试,从接口测试到接口自动化测试总结,一篇彻底打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 json模块的使用 …