pytorch学习框架
文章平均质量分 96
BUAA~冬之恋
Just Do It
展开
-
扩散模型(Diffusion Model)原理与代码解析(二)
我们已经明确了要训练pΘ(Xt−1∣Xt)p_{Θ}(X_{t-1}|X_t)pΘ(Xt−1∣Xt),那要怎么确定目标函数呢?有两个很直接的想法,一个是负对数的最大似然概率,即−logpΘ(X0)-\log p_{Θ}(X_0)−logpΘ(X0),另一个是真实分布与预测分布的交叉熵,即−Eq(X0)logpΘ(X0)-E_{q(X_0)}\log p_{Θ}(X_0)−Eq(X0)logpΘ(X0),然而,类似于VAE,由于我们很难对噪声空间进行积分,因此直接优化−logpΘ(X0转载 2022-12-06 21:18:53 · 1905 阅读 · 0 评论 -
pytorch学习笔记(7):RNN和LSTM实现分类和回归
参考文档:https://mp.weixin.qq.com/s/0DArJ4L9jXTQr0dWT-350Q在第三篇文章中,我们介绍了 pytorch 中的一些常见网络层。但是这些网络层都是在 CNN 中比较常见的一些层,关于深度学习,我们肯定最了解的两个知识点就是 CNN 和 RNN。那么如何实现一个 RNN 呢?这篇文章我们用 RNN 实现一个分类器和一个回归器。本文需要你最好对 RNN 相关的知识有一个初步的认识,然后我会尽可能的让你明白在 pytorch 中是如何去实现这一点的。1、pytor原创 2020-07-22 19:09:58 · 14140 阅读 · 8 评论 -
pytorch学习笔记(6):GPU和如何保存加载模型
参考文档:https://mp.weixin.qq.com/s/kmed_E4MaDwN-oIqDh8-tg上篇文章我们完成了一个 vgg 网络的实现,那么现在已经掌握了一些基础的网络结构的实现,距离一个入门炼丹师还有两个小问题需要注意一下:GPU 和保存模型。提起炼丹大家经常可以听到显卡如何如何的,也就是 GPU 在炼丹的过程中起到重要的作用。另一方面,训练了一个模型后,我们肯定要用它来进行一些预测,前面的代码中都是将训练好的模型直接进行预测,但是如果代码每次预测都要训练一次岂不是麻烦死了,所以将训练原创 2020-07-22 16:00:41 · 1899 阅读 · 0 评论 -
pytorch学习笔记(5):vgg实现以及一些tricks
参考文档:https://mp.weixin.qq.com/s/BAvS5ETwuv09pjBrqm3zWQ通过前面的学习,现在我们可以利用已经会了的网络层来搭建自己想要的神经网络。今天的笔记从两方面去进行,首先是简单介绍 vgg,并利用前面学到的网络层来搭建出 vgg 的实现;另外一方面是参考 GitHub 上一个 vgg 实现的仓库,给大家介绍一个实现多层网络,多类网络时,如何进行简化代码的方法。1、利用自带网络层来实现vgg首先 vgg 网络来源于 ICLR 2015 的一篇 paper:htt原创 2020-07-22 13:50:50 · 745 阅读 · 0 评论 -
pytorch学习笔记(4):tensorboard可视化
参考文档:https://mp.weixin.qq.com/s/UYnBRU2b0InzM9H1xl4b4g在之前的第二篇笔记中,我们实现了一个 CNN 网络,在 mnist 上通过两个卷积层完成分类识别。但是在我们调试代码的过程中,其实往往会想要知道我们的网络训练过程中的效果变化,比如 loss 和 accuracy 的变化曲线。当然,我们可以像前面的文章一样,将训练过程中的数据数据打印出来,但是一个是不够直观,另外一个是没有图形的表现力强。所以本篇笔记介绍了 tensorboard 来完成可视化的操原创 2020-07-21 09:46:08 · 1197 阅读 · 0 评论 -
pytorch学习笔记(3):常用网络层介绍
参考文档:https://mp.weixin.qq.com/s/Wxx-8b_36unlimLKBUl8zA前两篇文章了解了如何用 pytorch 创建一个 CNN 网络,实现对 MNIST 数据集的图片分类。其中用到了一些函数,我们从字面意思也可以理解其功能。但是如何灵活自由的构建自己想要的网络结构呢?今天我们介绍一些在 Deep Learning 中经常听到的一些网络层,以及在 pytorch 中它们的使用方法。1、常用的神经网络层这里我们介绍一下在构建网络时常见的一些神经网络层,分别从卷积层,池原创 2020-07-20 10:54:38 · 1431 阅读 · 0 评论 -
pytorch学习笔记(2):在MNIST上实现一个CNN
参考文档:https://mp.weixin.qq.com/s/1TtPWYqVkj2Gaa-3QrEG1A这篇文章是在一个大家经常见到的数据集 MNIST 上实现一个简单的 CNN。我们会基于上一篇文章中的分类器,来讨论实现一个 CNN,需要在之前的内容上做出哪些升级。这篇笔记的内容包含三个部分:读取 pytorch 自带的数据集并分割;实现一个 CNN 的网络结构;完成训练。这三个部分合起来完成了一个简单的浅层卷积神经网络,在 MNIST 上进行训练和测试。1、读取自带数据集并分割train_d原创 2020-07-19 22:17:14 · 524 阅读 · 0 评论 -
pytorch学习笔记(1):开始一个简单的分类器
参考文档:https://mp.weixin.qq.com/s/wj8wxeaGblJijiHFZA6lXQ回想了一下自己关于 pytorch 的学习路线,一开始找的各种资料,写下来都能跑,但是却没有给自己体会到学习的过程。有的教程一上来就是写一个 cnn,虽然其实内容很简单,但是直接上手容易让人找不到重点,学的云里雾里。有的教程又浅尝辄止,师傅领到了门槛跟前,总感觉自己还没有进门,教程就结束了。所以我总结了一下自己当初学习的路线,准备继续深入巩固自己的 pytorch 基础;另一方面,也想从头整理一个原创 2020-07-17 17:02:14 · 503 阅读 · 0 评论