pip下载whl包到本地(离线安装)

最近经常遇到pip安装包非常慢的情况,之前加-i参数来临时更换下载源,pip之前的笔记可以查看这里https://sulao.cn/post/584.html,但是这次情况是下载torch,更换了pip源以后提示什么证书验证的警告,下载依然很慢,所以尝试在其他的机器上来下载whl包,然后拷贝到要安装的机器上例如我下载torch可以用如下方法,可以将torch和依赖的包全部下载到本地pip3 download torch==1.8.2 torchvision==0.9.2 torchaudio==0.8.2 ...

阅读全文

python类特殊方法__setitem__的作用

在python的类中定义了特殊方法__setitem__,这个方法与之对应是之前咱们学习的__getitem__方法,具体的可以查看这里的笔记https://sulao.cn/post/862.html,一个是用key的方式获取,一个是用key的方式来设置对象的值为新值,注意,设置的对象应该是存在,当然这个对象可变时才需要实现这个方法我们还是直接使用上次的例子修改下class TestFunc:    ip = "127.0.0.1"  ...

阅读全文

pytorch中数据并行DP和DDP的区别

在pytorch中数据并行训练涉及到nn.DataParallel和nn.parallel.DistributedDataParallel两个模块,也就是DP和DDP数据并行的含义每个GPU复制一份模型,将一批样本分为多份输入各个模型并行计算当一张GPU可以存储一个模型时,可以采用数据并行得到更准确的梯度或者加速训练,因为求导以及加和都是线性的,数据并行在数学上也有效1.DPDP使用数据并行的方式只需要将原来单卡的module用DP改成多卡model = nn.DataParallel(model)DP基于单机多卡,所有设备...

阅读全文

tensorflow保存和加载PB模型文件

谷歌推荐的保存模型的方式是保存模型为PB文件,它具有语言独立性,可独立运行,封闭的序列化格式,任何语言都可以解析它,它允许其他语言和深度学习框架读取、继续训练和迁移TensorFlow的模型它的主要使用场景是实现创建模型与使用模型的解耦,使得前向推导inference的代码统一另外的好处是保存为PB文件时候,模型的变量都会变成固定的,导致模型的大小会大大减小,适合在手机端运行还有一个就是,真正离线测试使用的时候,PB格式的数据能够保证数据不会更新变动,就是不会进行反馈调节保存称为这种PB文件主要使用tf.SaveModelBuilder类来完成...

阅读全文

深度学习基础Epoch/batchsize/iterations等词解析

神经网络的训练梯度下降法学习率:步长更大=学习率更高误差函数不断减小。如果训练数据过多,无法一次性将所有数据送入计算。现将数据分成几个部分:batch分多个batch,逐一送入计算训练Epoch一个epoch,表示:所有的数据送入网络中,完成了一次前向计算+反向传播的过程。由于一个epoch常常太大,分成几个小的baches.将所有数据迭代训练一次是不够的,需要反复多次才能拟合、收敛。在实际训练时、将所有数据分成多个batch,每次送入一部分数据。使用单个epoch更新权重不够。随着epoch数量的增加,...

阅读全文

python类特殊方法__getitem__的作用

在python的类中定义了特殊方法__getitem__,那么这个类在创建实例时,可以通过下标来取值当从对象的下标取值时,会调用类中的方法__getitem__下面我们来上一个例子class TestFunc:    def __init__(self, ip, port):        self.ip = ip    &n...

阅读全文

mongdb设置认证账户密码

首先我们登录mongodb./mongo然后选择adimn库use admin;db.createUser({  user: 'admin',  pwd: 'admin123',  roles:[{    role: 'root',    db: 'admin' &n...

阅读全文

flask中使用sqlite的方式

Flask官网的sqlite例子可以查看这里http://www.pythondoc.com/flask/patterns/sqlite3.html,我这里根据我项目的实际情况是这样写的我的入口文件manager.pyfrom flask import Flask,current_app,gfrom app.application import create_appapp = create_app()@app.teardown_requestdef ...

阅读全文

torh中使用一些使用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&nbs...

阅读全文

python中easydict模块的使用方法

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

阅读全文