Pytorch
文章平均质量分 59
shaobo Huang
化繁为简,高效极致
展开
-
optuna 自动化调参利器
Optuna是一个自动超参数优化软件框架,专为机器学习而设计。它具有命令式、 运行时定义的用户 API。Optuna的用户可以动态地构建超参数的搜索空间。optuna API使用optunaOptuna 与几乎所有可用的机器学习框架一起使用:TensorFlow、PyTorch、LightGBM、XGBoost、CatBoost、sklearn、FastAI 等。安装optuna pip install optuna每个 Optuna 超参数调整会话称为学习。我们通过调用create_stud原创 2022-02-17 15:53:58 · 9533 阅读 · 15 评论 -
PyTorch中的 Conv1D/2D/3D及反卷积
单通道Conv2D(通俗意义上的卷积)运算示意图卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加。卷积核:又称为滤波器,过滤器,可认为是某种特征。卷积维度:一般情况下 ,卷积核在几个维度上滑动就是几维卷积。卷积过程类似于用一个模版去图像上寻找与它相似的区域,与卷积核模式越相似,激活值越高,从而实现特征提取。下图为AlexNet卷积核可视化,可以看出,卷积核学习到的是 边缘,条纹,色彩这些特征。Conv1D/2D/3D的区别Conv1Dtorch.nn.Conv1d(i原创 2021-10-14 11:21:26 · 3552 阅读 · 0 评论 -
pytorch中的tensor以numpy形式进行输出保存
tensor和numpy不是一种数据类型,所以,在将数据输出保存之前,需要将tensor的数据类型进行转换 # var保存成文件(numpy array) var_path = os.path.join(save_model_path, "Enpy%i.npy" % epoch) np_var = var.data.cpu().numpy() # 数据类型转换 print("mean",type(np_var)) np.save(var_path, np_var)原创 2021-05-20 13:44:01 · 3297 阅读 · 0 评论 -
PyTorch 模型训练教程(一)-数据
第一章 数 据1.1 Cifar10 转 png下载 cifar-10-python.tar.gz下载方式:官网:http://www.cs.toronto.edu/~kriz/cifar.htmllinux命令:cd Datawget http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz下载 cifar-10-python.tar.gz,存放到 /Data 文件夹下,并且解压,获得文件夹/Data/cifar-10-batches-翻译 2021-05-10 18:23:33 · 1538 阅读 · 0 评论 -
torch.sort()
torch.sort(),对tensor中元素排序2.用法dim = -1,按照行排序,dim= 1按照列排序,descending=True,则递减排序,否则递增3.例子按照行排序logits = torch.tensor([[[-0.5816, -0.3873, -1.0215, -1.0145, 0.4053], [ 0.7265, 1.4164, 1.3443, 1.2035, 1.8823], [-0.4451, 0.1673, 1.2590原创 2021-04-25 10:53:08 · 1626 阅读 · 0 评论 -
DataLoader 和 Dataset
Dataset是一个包装类,用来将数据包装为Dataset类,然后传入DataLoader中,我们再使用DataLoader这个类来更加快捷的对数据进行操作。DataLoader是一个比较重要的类,它为我们提供的常用操作有:batch_size(每个batch的大小), shuffle(是否进行shuffle操作), num_workers(加载数据的时候使用几个子进程)当我们集成了一个 Dataset类之后,我们需要重写 len 方法,该方法提供了dataset的大小; getitem 方法, 该方法原创 2021-04-23 18:58:55 · 267 阅读 · 1 评论 -
torch.FloatTensor和torch.Tensor、torch.tensor
在Pytorch中,Tensor和tensor都用于生成新的张量。a = torch.Tensor([1, 2])# tensor([1., 2.])a=torch.tensor([1,2])# tensor([1, 2])torch.Tensor()是Python类,更明确的说,是默认张量类型torch.FloatTensor()的别名,torch.Tensor([1,2]) 会调用Tensor类的构造函数__init__,生成单精度浮点类型的张量。a=torch.Tensor([1,2])转载 2021-04-23 18:54:21 · 8359 阅读 · 0 评论 -
pytorch 中 torch.optim.Adam
optimizer = torch.optim.Adam(model.parameters(), lr=args.learning_rate)实现Adam算法。论文Adam: A Method for Stochastic Optimization参数:params (iterable) – 待优化参数的iterable或者是定义了参数组的dictlr (float, 可选) – 学习率(默认:1e-3)betas (Tuple[float, float], 可选) – 用于计算梯度以及梯原创 2021-04-23 18:42:44 · 2451 阅读 · 0 评论 -
torch.nn.NLLLoss()
在各种深度学习框架中,我们最常用的损失函数就是交叉熵(torch.nn.CrossEntropyLoss),熵是用来描述一个系统的混乱程度,通过交叉熵我们就能够确定预测数据与真是数据之间的相近程度。交叉熵越小,表示数据越接近真实样本。交叉熵计算公式:就是我们预测的概率的对数与标签的乘积,当qk->1的时候,它的损失接近零。nn.NLLLoss官方文档中介绍称: nn.NLLLoss输入是一个对数概率向量和一个目标标签,它与nn.CrossEntropyLoss的关系可以描述为:softmax转载 2021-04-23 18:30:54 · 839 阅读 · 0 评论 -
pytorch minist
导入相关库import torchfrom torch import nnfrom torch.nn import functional as Ffrom torch import optimimport torchvisionfrom matplotlib import pyplot as pltfrom utils import plot_image, plot_curve,...原创 2019-12-20 21:24:46 · 462 阅读 · 0 评论 -
PyTorch中的生成对抗网络(GAN)
2014年,蒙特利尔大学的伊恩·古德费洛(Ian Goodfellow)和他的同事发表了一篇惊人的论文,向世界介绍了GAN(即生成性对抗网络)。通过将计算图和博弈论进行创新的组合,他们表明,只要具有足够的建模能力,两个相互竞争的模型就可以通过普通的旧反向传播进行协同训练。这些模型扮演两个不同的角色(字面上是对抗角色)。给定一些真实数据集R,G是生成器,试图创建看起来像真实数据的伪数据,而D是鉴别...翻译 2019-12-02 17:57:38 · 2846 阅读 · 1 评论 -
pytorch:测试GPU是否可用
import torchflag = torch.cuda.is_available()if flag: print("CUDA可使用")else: print("CUDA不可用")ngpu= 1# Decide which device we want to run ondevice = torch.device("cuda:0" if (torch.cuda.is...原创 2019-11-18 09:19:16 · 53537 阅读 · 3 评论