自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 Python 基础 - 迭代器 / 迭代器对象 / 可迭代对象 / range函数

注意:for循环在内部执行时,先执行__iter__()方法,获取一个迭代器对象,然后不断执行__next__取值。在编程中常见的 range()函数,如 v1=range(100) 返回的是一个。当类中定义了__iter__和 __next__两个方法。如果一个类中有__iter__方法并且。,则称以这个类创建的对象叫可迭代对象。通过迭代器类实例化创建的迭代器对象。可迭代对象是可以用for来进行循环。

2023-04-25 23:35:41 796 1

原创 Pytorch 容器 - 5. Module中的参数转换/转移:cpu(), cuda(), float(), double(), half()

如果模型要在gpu上进行训练,需要再将参数放到优化器之前调用该函数进行设备转化。对于模型的cpu()函数,比如 model.cpu(),只是把。将模型中所有parameters和buffers进行类型转换。parameters 和 buffers。

2023-04-21 22:25:16 1151

原创 Pytorch 容器 - 4. Module中hook注册:register_forward_pre_hook(),register_forward_hook()

hook是一个可调用的对象,它预定义了函数声明(即函数参数,返回值,调用方式等)。当调用forward() / backward()时,module对应的输入输出都会传到hook上,并可以在hook中处理这些输入输出。因此hook可中进行一些如:可视化中间特征、冻结部分层的等操作。从输出的顺序可以看到先执行forward_pre_hook(),然后执行forward(),最后执行forward_hook()

2023-04-20 21:09:41 712

原创 Pytorch 容器 - 3. Module的参数添加:register_parameter(),register_buffer()

Module类内置了很多函数,其中本文主要介绍常用的属性设置函数,包括向module添加参数的register_parameter(),register_buffer()。

2023-04-18 11:05:52 578

原创 Pytorch 容器 - 2. Module的属性访问 modules(), children(), parameters(), buffers()等

Module类内置了很多函数,其中本文主要介绍常用的属性访问函数,包括: modules(), named_modules(), buffers(), named_buffers(), children(), named_children(), parameters(), named_parameters()。

2023-04-16 22:08:51 642

原创 Pytorch 容器 - 1. Module类介绍

(1) 属性访问:modules(), named_modules(), buffers(), named_buffers(), children(), named_children(), parameters(), named_parameters() 等。(2) 属性设置:register_parameter(),register_buffer(),register_forward_hook(),register_forward_pre_hook() 等。对于这些内置函数的详细介绍,在。

2023-04-16 17:03:27 1390 3

原创 Pytorch基础 - 8. scatter() / scatter_() 函数

scatter() 或 scatter_() 常用来返回根据index映射关系映射后的新的tensor。其中,scatter() 不会直接修改原来的 Tensor,而 scatter_() 直接在原tensor上修改。dim:沿着哪个维度进行索引index:索引值src:数据源,可以是张量,也可以是标量简言之 scatter() 是通过 src 来修改另一个张量,修改的元素值和位置由 dim 和 index 决定。

2023-04-15 19:40:57 2513

原创 Pytorch基础 - 7. torch.transpose() 和 torch.permute()

按照上面数组的方式进行理解,x的原维度表示数组 array = [3, 4, 5, 8],转置后的维度 = [array[1], array[0], array[3], array[2]] = [4, 3, 8, 5]就是把原来的维度比作一个数组 list=[3, 4],permute中的数表示数组对应的index,则转置后的x为 [list[1], list[0]] = [4, 3]示例:将shape为[3, 4]的张量,通过transpose()转换成维度为[4, 3]的张量。示例1:进行二维转置。

2023-04-14 23:04:53 2520

原创 Pytorch基础 - 6. torch.reshape() 和 torch.view()

当tensor是连续的,torch.reshape() 和 torch.view()这两个函数的处理过程也是相同的,即两者均不会开辟新的内存空间,也不会产生数据的副本,只是改变了tensor的头信息区,如stride, 并没有修改这个tensor的存储区 Storage。当处理的tensor是非连续性的(contiguous)view():在调用view()函数之前需要先调用 contiguous()方法,即x.contiguous().view()。

2023-04-14 00:24:49 2252

原创 Pytorch基础 - 5. torch.cat() 和 torch.stack()

torch.cat() 和 torch.stack()常用来进行张量的拼接,在神经网络里经常用到。torch.cat会在dim的维度上进行合并,不会扩展出新的维度。torch.stack则会在dim的维度上拓展出一个新的维度,然后进行拼接,该维度的大小为tensors的个数

2023-04-13 16:04:20 773

原创 Pytorch基础 - 0. Tensor数据类型与存储结构

pytorch中最常见的tensor张量,包括数据类型,创建类型,类型转换,以及存储方式和数据结构。

2023-04-13 11:58:59 2119

原创 Pytorch基础 - 4. torch.expand() 和 torch.repeat()

在PyTorch中有两个函数可以用来扩展某一维度的张量,即 torch.expand() 和 torch.repeat()

2023-04-11 22:55:01 1650

原创 Pytorch基础 - 3. torch.utils.tensorboard

Tensorboard是Tensorflow的可视化工具,常用来可视化网络的损失函数,网络结构,图像等。后来将Tensorboard集成到了PyTorch中,常使用torch.utils.tensorboard来进行导入。

2023-04-11 21:29:06 1248

原创 Docker进阶 - 13. Docker 容器监控之 CAdvisor+InfluxDB+Granfana (CIG) 简介

CAdvisor是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个 WEB 页面用于查看容器的实时运行状态,CAdvisor默认存储2分钟的数据,而且只是针对单物理机,不过 CAdvisor 提供了很多数据集成接口,支持InfluxDB、Redis、Kafka、Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。展示Host和容器两个层次的监控数据展示历史变化数据。

2023-02-12 11:44:12 661

原创 Docker进阶 - 12. Portainer 简介和安装

Portainer 是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机环境和集群环境,简单来说即对容器和镜像等进行监控和统计。

2023-02-12 10:46:19 1357

原创 Docker进阶 - 11. Docker Compose 编排服务

2. 使用Compose编排微服务2.1 编写 xml 文件(1) 首先定义microService 服务,其中microService 为服务名,可以自己定义。(2) 然后定义 redis 服务 和 mysql 服务。(3) 最后定义采用的网络,下面的语句相当于执行 docker network create atguigu_net 命令。

2023-02-11 22:31:22 763

原创 Docker进阶 - 10. Docker Compose 简介

Compose 是Docker 公司推出的一个工具软件,可以管理多个Docker 容器组成一个应用。因此只需要定义一个YAML 格式的配置文件 docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。2. DockerCompose 产生原因(1) 如果需要同时部署很多服务,而每个服务单独写Dockerfile,然后再构建镜像和容器,这样流程很繁琐,因此docker官方提供了 docker-compose多服务部署的工具。

2023-02-11 11:27:40 579

原创 Docker进阶 - 9. docker network 之自定义网络

由于ip地址是经常变化的,直接对服务名进行ping更符合实际需求,因为服务名是不会改变的。因此如何解决上述问题呢?(1) 新建自定义网络,默认使用桥接网络 bridge(2) 新建容器加入上一步新建的自定义网络(3) 互相ping测试,即可以通过服务名直接ping通结论:自定义网络本身就维护好了主机名和ip的对应关系(ip和域名都能通)

2023-02-10 17:35:23 853

原创 Docker进阶 - 8. docker network 网络模式之 container

container网络模式新建的容器和已经存在的一个容器共享一个网络ip配置而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。

2023-02-10 12:58:26 812

原创 Docker进阶 - 7. docker network 网络模式之 host

1. host 模式概述直接使用宿主机的IP地址与外界进行通信,不再需要额外进行NAT转换。容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace,同时容器将不会虚拟出自己的网卡,而是使用宿主机的IP和端口2. host模式代码语法一般情况下,新建一个容器,默认使用的网络模式为 bridge,如果想要指定为 host 模式,需要使用 --netowrk host 指定,如下所示。但需要注意的是,不需要写 -p 这个参数。

2023-02-10 10:58:48 4649

原创 Docker进阶 - 6. docker network 网络模式之bridge

Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了docker0接口的IP地址和子网掩码,让主机和容器之间可以通过网桥相互通信。 网桥docker0创建一对对等虚拟设备接口一个叫veth,另一个叫eth0,成对匹配。整个宿主机的网桥模式都是docker0,类似一个交换机有一堆接口,每个接口叫veth,每个容器实例内部也有一

2023-02-10 00:15:30 949

原创 Docker进阶 - 5. docker network 简介

docker 启动之后,会产生一个名为 docker0的虚拟网桥。就是通过这个网桥与宿主机之间,以及容器与容器之间进行连接。

2023-02-08 22:31:43 675

原创 Docker进阶 - 4. Dockerfile 案例 - 发布微服务部署到Docker

1. 在IDEA工具里搞定微服务jar包 (docker_boot-SNAPSHOT.jar) 并上传到宿主机(Linux)中。直接在地址栏访问:[宿主机linux ip]:6001/order/index,如成功,则打包运行成功。2. 编写 Dockerfile 文件,注意:Dockerfile和jar包要在一个文件目录下。3. 构建镜像。docker build -t 新镜像名字:TAG . 4. 运行容器. 5. 测试容器

2023-02-08 11:25:34 212

原创 Docker进阶 - 3. Dockerfile 案例 - 编写构建和运行

语法:docker build -t 新镜像名字:TAG . 【注意,TAG后面有空格,有个点】构建一个新的镜像:centos7 + vim + ifconfig + jdk8。的学习笔记,仅供参考。如看其他Docker内容,可看我博客Docker系列。语法:docker run -it 新镜像名字:TAG。注:本文部分图文内容来自于。

2023-02-07 00:12:20 175

原创 Docker进阶 - 2. Dockerfile 常用保留字简介

DockerFile 常用保留字简介。1. FROM2. MAINTAINER3. RUN4. EXPOSE5. WORKDIR6. USER7. ENV8. VOLUME9. COPY10. ADD11. CMD12. ENTRYPOINT13. CMD 和 RUN 命令的区别

2023-02-06 17:19:38 518

原创 Docker进阶 - 1. DockerFile 简介

DockerFile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。其官网地址为构建步骤:编写 DockerFile文件 --> 使用docker build 命令构建镜像 --> docker run运行容器实例。

2023-02-05 13:09:20 462 1

原创 Docker - 13. 容器卷常用操作

1. 宿主和容器之间映射添加容器卷,docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名2. 宿主和容器之间映射添加容器卷的命令时,默认的读写方式是主机和容器内都可以进行读写操作3. u1完成了和宿主机的映射,而容器u2如想继承u1的卷规则,可以使用如下命令:docker run -it --privileged=true -volumes-from 父类 --name u2 镜像名

2023-02-05 00:00:02 437

原创 Docker - 12. 容器卷基本概念

之前对于Docker容器产生的数据,如果不进行备份,那么当容器实例删除后,容器内的数据就会跟着删除,我们可以使用cp命令来手动进行容器和镜像的备份,但却不能做到实时备份。卷就是目录或文件,存在于一个或者多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过联合文件系统而提供一些用于存储或共享数据的特性。因此容器卷的本质就是。将本地和Docker容器内的数据进行关联和共同,实现实时更新和备份。将容器内的数据同步保存到宿主机的磁盘中,实现数据的持久化。

2023-02-04 22:57:39 427

原创 Docker - 11. 本地镜像发布到私有库

如果涉及到公司机密文件,使用DockerHub、阿里云这样的公共镜像仓库就不合适,所以需要创建一个本地私人仓库提供给团队使用,基于公司内部项目构建镜像。默认情况下仓库被创建在容器的/var/lib/registry目录下,建议用容器卷映射,方便于宿主机联调。11. 通过新镜像进入容器,看是否能够使用 ifconfig 命令,如果显示如下命令,则往私服库推送和拉取镜像成功。9. 将新镜像使用push命令推送到私服库,并使用curl命令验证私服库镜像。10. 删除本地新镜像,并从私服库拉取镜像。

2023-02-04 16:39:28 867

原创 Docker - 10. 本地镜像发布到阿里云

登录成功如下图所示,我们将镜像 ubuntu_addvim 推送到阿里云仓库。7. 上述完成,点击下一步,进入如下界面,选择本地仓库,点击创建镜像仓库。5. 打开“镜像仓库”,选择刚创建的命名空间,然后点击“创建镜像仓库”6. 点击创建镜像仓库,填写下面红框信息,并设置仓库类型为 “公开”注意:红框里的仓库名称就是自己要上传和拉取的镜像名字,不要弄错!8. 创建成功后,有如下界面,具体上传镜像,使用如下命令即可。3. 创建个人实例,未创建前如下图1,创建后见下图2。

2023-02-03 19:31:34 671

原创 Docker - 8. Docker镜像底层与commit新镜像

Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数。镜像在构建之后其内容不会被改变。定义:UnionFS 是 Docker 镜像的基础,本质是一种分层、轻量级并且高性能的文件系统。特点:[1] 它支持对文件系统的修改作为一次提交来一层层的叠加。[2] 可以将不同目录挂载到同一个虚拟文件系统下。[3] 镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。分层存储使得

2023-02-03 11:43:49 526

原创 Docker - 4. Docker 帮助启动类命令

1. 启动 docker:systemctl start docker2. 停止 docker:systemctl stop docker3. 重启 docker:systemctl restart docker4. 查看 docker 状态:systemctl status docker5. 保持开机自动启动:systemctl enabl6.显示 docker 版本信息:docker version7.显示 docker 系统信息9. 查看 docker 命令帮助文档

2023-02-01 22:21:03 290

原创 Docker - 2. Docker 工作原理

(1) Docker是一个Client-Server结构的系统,Docker守护进程(图中Docjer daemon)运行在主机上,然后通过Socket链接客户端往返,守护进程从客户端接收命令并管理在主机上的容器。(2) 对于Docker客户端(图中Docker_Client),可以通过 docker build, docker pull和docker run等命令与守护进程进行通讯,并发送请求给后者,从而进行docker容器的打包,拉取和运行。(3) 在主机上通过镜像Images生成容器,然后

2023-02-01 18:31:00 366

原创 Docker - 7. 其他常用命令 docker run -d、logs、top 、inspect、exec 、attach、cp、export、import

注意:通过后台启动容器,就必须要有一个前台进程,否则会导致该容器自动退出。因为docker容器运行必须有一个前台进程执行, 如果没有前台进程,容器认为空闲,如果容器运行的命令不是那些一直挂起的命令(eg. 运行top,tail等),则会自行退出。语法:docker logs [选项] 容器 【其中容器可以用名字也可以用容器id】语法:docker inspect 容器。语法:docker top 容器。

2023-01-31 19:49:16 283

原创 Docker - 6. 容器常用命令 docker run、ps、exit、rm、start、restart、stop、kill

当启动并进入容器时,左侧变成了容器id,通过ls可以查看容器内的centos。(2) dcoker run 和 docker start的区别。容器是基于镜像创建的, 即容器中的进程依赖镜像中的文件。语法:docker run [可选参数] image。示例:新建一个centos容器,启动并进入容器。(1) -p ip:主机端口:容器端口。(2) -p 主机端口:容器端口(常用)镜像是个文件,容器是由镜像实例化而来的。语法:docker ps [选项](1) 镜像和容器的关系。(3) -p 容器端口。

2023-01-31 11:44:35 2150

原创 Docker - 5. 镜像常用命令 docker images、search、pull、system df 、rmi

1. 帮助命令docker version # 显示Docker版本信息docker info # 显示Doc2. 镜像命令【1】docker images [选项]:查看所有镜像、仓库、标签和大小【2】docker search [选项] 镜像名字:在 Docker Hub 中搜索镜像【3】docker pull 镜像名字[:tag]:下载镜像,tag为指定的版本【4】docker rmi [选项] 镜像:删除指定镜像

2023-01-30 23:37:27 1377

原创 Docker - 3. Ubuntu安装Docker

(11) 通过运行hello-world镜像来验证Docker,具体步骤为一开始找不到这个镜像,然后就去远程镜像仓库拉取hello-world镜像,如果拉取成功,则显示Docker可以正常工作。(6) 安装Docker相关内容,安装过程较慢。(4) 添加 Docker 的 GPG 密钥(将默认地址的更换成阿里云的地址)(5) 设置远程镜像仓库(同理,将默认国外的更新成阿里云镜像,会快)(1) 卸载旧版本Docker,如果之前没有安装,则无需执行。(12) 查看一下刚才拉取的镜像。(7) 启动Docker。

2023-01-28 00:10:55 333

原创 Docker - 1. Docker简介

Docker 是一个开源的应用容器引擎,可以打包应用及依赖包到一个可移植的容器中,从而发布到任何机器上容器是完全使用沙箱机制,相互之间相互独立,不会影响。1. 能够进行更快的交付和部署,即打包镜像发布测试,一键运行2. 更便捷的升级和扩容3. 更简单的系统运维,使开发和测试环境高度一致4. 更高效的计算资源利用:Docker是内核级别的虚拟化,可以在一个物理机上运行多个容器实例,将服务器的性能运用到极致

2023-01-27 17:37:47 688 2

原创 Linux常见命令 26 - RPM包管理-yum在线管理

yum操作RPM包相对于手工操作来说简单方便,减少了逐层安装依赖包的过程。yum都可以直接进行所有包的安装,流程简单。yum 源既可以使用网络yum源,也可以将本地光盘作为yum源。1.网络yum源。2. 常用yum命令。3. yum软件包组管理命令

2023-01-26 23:47:18 616

原创 Linux常见命令 25 - RPM包安装、升级、卸载、查询、校验、提取

RPM包安装、升级、卸载、查询、校验、提取1. 包名与包全名包全名:操作的包是没有安装的软件包时,使用包全名,而且要注意路径包名:操作已经安装的软件包时,使用包名。是搜索 /var/lib/rpm/ 中的数据库。注意:当安装包时,需要写包全名。但是当查询和卸载已经安装的包时,不需要写完整路径和全名,因为他会自动到 /var/lib/rpm/ 路径下查找,只需要写包名即可。

2023-01-26 12:11:20 5659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除