pytorch中使用一些使用GPU基本操作

在使用单机多卡的时候我们会经常遇到一些GPU的操作,例如查询当前有几块GPU卡,GPU卡名字,如何在torch中使用多卡等问题,下面我们先进行一些基础的学习,这里不再赘述如何安装torch,可以看我之前的笔记。一些常用的方法判断cuda是否可用torch.cuda.is_available()获取GPU卡的数量torch.cuda.device_count()获取当前设备的索引torch.cuda.current_device()获取GPU卡的名字torch.cuda.get_device_name(0)下面我们来上一些简单的代码查看下import&nb...

阅读全文

python中easydict模块的使用方法

最近经常看人家的代码,看到easydict这个模块,然后百度了下,发现这个模块就是将字典转成对象,然后调用的时候可以直接使用链式的方式使用,感觉谈不上方便,我自己写python可能基本用不上这个模块,然而,我们还是来看看这个模块的用法吧首先这个模块不是内置模块,需要安装下pip easydict然后网上淘了一个例子,我自己稍微修改了下,一下把他的功能特性都能展示出来,看下就明白这个是个啥东西from easydict import EasyDict as edictimport j...

阅读全文

python进度条模块tqdm的用法

我们经常看到linux各种程序中的执行进度条,非常直观,python中也有类似模块tqdmtqdm就能非常完美的支持和解决这些问题,可以实时输出处理进度而且占用的CPU资源非常少,支持windows、Linux、mac等系统,支持循环处理、多进程、递归处理、还可以结合linux的命令来查看处理情况,等进度展示我们首先进行安装pip install tqdm然后上些简单的例子from tqdm import tqdmimport time for i in...

阅读全文

ImportError: libGL.so.1问题的解决方法

今天有遇到libGL.so无法找到这个共享库的问题,具体报错如下from .cv2 import *ImportError: libGL.so.1: cannot open shared object file: No such file or directory看到这个cvs模块首先第一个想到应该是要安装opencv-python模块,于是尝试安装pip install opencv-pyt...

阅读全文

k8s扩容pv存储的方法

k8s之前配置存储卷容量太小,之前设置的容量规格已经不能满足现有资源存储,那么我们需要进行扩容kubernetes1.11版本中开始支持pvc创建后的扩容,这点很方便,但是还是有前提,是我们必须配置存储资源对象StorageClass如果配置了的话我们接着往下看,修改扩容的步骤比较简单,此次所有的配置修改可以直接查看上次的一个笔记:https://sulao.cn/post/826.html我们首先看下storageclasskubectl get scNAME     &nbs...

阅读全文

linux下nsenter命令介绍

nsenter命令是一个可以在指定进程的命令空间下运行指定程序的命令,它位于util-linux包中,可以直接使用yum进行安装yum install -y util-linux用nsenter--help可以查看命令帮助nsenter [options] [program [arguments]]options:-t, --target pid:指定被进入命名空间的目标进程的pid-m, --mount[=file]:进入mount命令空间。如果指定...

阅读全文

k8s安装prometheus

k8s安装prometheus我本地安装的k8s是1.19.9这个版本,需要找到对应的安装版本kube-prometheusstackKubernetes1.19Kubernetes1.20Kubernetes1.21Kubernetes1.22Kubernetes1.23release-0.7✔✔✗✗✗release-0.8✗✔✔✗✗release-0.9✗✗✔✔✗release-1.0✗✗✗✔✔main✗✗✗✔✔目前我这个版本对应的是prometheusrelease-0.7这个版本,那么我们就直接打开https://github.co...

阅读全文

mongodb查看集合占用空间情况

通常我们登录到mongodb以后使用show命令就能看到所有库的用量大小,但是使用db.getCollectionNames()只能获取到集合列表,我们想知道集合所占用空间大小可以使用如下命令tables = db.getCollectionNames();tables.forEach( function (item) {     stats=db.runCommand({collStats:item});   &...

阅读全文

flask加载配置的几种方法

其实flask配置本质上就是一个字典,这些配置变量都通过Flask对象的app.config属性作为统一的接口来设置和获取,它指向的Config类实际上是字典的的子类注意:配置的名称必须是全大写形式,小写的变量将不会被读取flask加载配置有以下几种方式1.直接配置我们可以直接通过app.config["KEY"]=value的方式来配置配置文件然后获取的方式可以通过app.config.get("KEY")#或者app.config["key"]如果使用update方法可以一次配置...

阅读全文

ubuntu20.04修改默认网卡名

有很多时候我们集群需要网卡名进行统一,但是不同的机器可能网卡名不相同,所以我们需要修改默认网卡名,具体教程如下vi /etc/default/grubGRUB_CMDLINE_LINUX=" "#修改为GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"更新grubupdate-grub修改网卡文件,可能文件名不叫00-installer-config.yaml,可以自行查看这层目录下文件cat /etc/netplan...

阅读全文