PyTorch/Keras/Caffe/TensroFlow
文章平均质量分 68
深度学习框架
苏堤春不晓
究天人之际,通古今之变,成一家之言。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Pytorch】NVIDIA DALI
定义数据路径(假设图像已按 file_root/类别/图片 组织)# 此处 name="Reader" 必须与下方迭代器的 reader_name="Reader" 保持一致# 解码图像并应用预处理# 注意:此处直接拉伸到 256×256,与基准的 Resize(256)+CenterCrop 短边等比缩放并不等价;# 若要严格对齐,可改用 resize_shorter=256(等比缩放短边)再裁剪images,原创 2026-07-17 10:08:24 · 605 阅读 · 0 评论 -
【Clustering】Deep Image Clustering with TensorFlow
当没有标注数据时,如何利用预训练 CNN + 无监督聚类来解决图像分类问题。预训练 CNN = 通用视觉特征提取器:在 ImageNet 上训练好的 ResNet50/VGG16 可以提取高质量的图像特征,无需在自己的数据上重新训练特征向量 + 聚类 = 无监督分类:将 CNN 倒数第二层的输出作为特征,输入到聚类算法中,即可实现图像的自动分组灵活可扩展:可以轻松替换特征提取器(ResNet→EfficientNet→ViT)或聚类算法(层次聚类→K-Means→DBSCAN→谱聚类)原创 2026-06-09 09:11:26 · 351 阅读 · 0 评论 -
【ONNX】 TopK
ONNX 定义了数百种算子(如ConvGemmReluTopKGather等),并明确了它们的输入输出形状和计算规则。这保证了模型从 PyTorch 导出后,算子语义不会丢失。TopK 算子在 ONNX 的ai.onnx命名空间中定义。原创 2026-04-13 09:31:53 · 442 阅读 · 0 评论 -
【Pytorch】RNN for Name Classification
字符都转化为 ASCII 形式。名字转化为 Tensor。定义 RNN 分类网络。原创 2024-07-17 23:46:22 · 472 阅读 · 0 评论 -
【Pytorch】torchvision transforms
【代码】【Pytorch】torchvision transforms。原创 2024-07-06 00:10:12 · 496 阅读 · 1 评论 -
【Pytorch】Conv1d
1D 卷积是以 n 个 2D tensor 在一维平面滑动,标准 1D 卷积核的 h 和 输入的 h 应该保持一致,别潜意识的理解为 h 只能等于 1,像下图这样,h = 1。2D卷积是以 n 个 3D tensor 在二维平面滑动,所以叫 2D,标准2D卷积的卷积核。忽略 C 的 2D conv 演示,金字塔,哈哈哈。结合可视化看看 1D 卷积是怎么滑动的(来自。conv1d 先看看官方文档。再看一个稍微复杂的例子。原创 2024-04-17 09:56:16 · 1115 阅读 · 0 评论 -
【Pytorch】Transposed Convolution
简单的实验,输入 MNIST 原始图片,conv+max pooling 下采样,maxunpooling+transposed conv 回原图,看看效果。在使用 MaxUnpool 的时候要特别注意, 需要在 maxpool 的时候保存 indices. 否则会报错。上述过程反过来,输入的一个数值与输出的 9 个数值有关。矩阵乘可以看到,输入的每个值影响到了输出的 9 个值。MNIST 多图的可视化,可以借鉴借鉴,核心代码为。输出的每个结果和输入的 9 个数值有关系。更直观的写成如下展开的矩阵乘形式。原创 2023-12-12 10:38:54 · 512 阅读 · 0 评论 -
【Pytorch】Fizz Buzz
编程题很简单,我们用 MLP 实现试试思路,训练集数据101~1024,对其进行某种规则的编码,标签为经分类 one-hot 编码后的标签测试集,1~100。原创 2023-12-08 09:55:03 · 430 阅读 · 0 评论 -
【Pytorch】Visualization of Feature Maps(5)——Deep Dream
具体而言,当给定一个输入张量 x 和一个整数 p 时,torch.norm(x, p) 将返回输入张量 x 沿着最后一个维度(默认为所有维度)上所有元素的 p 范数,p 默认为 2。),指定网络的某一层,固定网络权重,开启输入图片的梯度,迭代指定层输出的负l2范数(相当于最大化该层激活),以改变输入图片。核心代码,loss 为指定特征图输出的二范数的负值,相当于放大了响应,负数负的更多,正数正的更多,二范数才越大,损失才越小。这个图画的很好,递归只画了一层,下面来个三层的例子。原创 2023-11-29 22:49:40 · 1539 阅读 · 1 评论 -
【Pytorch】Visualization of Feature Maps(4)——Saliency Maps
Saliency Maps相当于是计算图像的每一个pixel是如何影响一个分类器的, 或者说分类器对图像中每一个pixel哪些认为是重要的.下面开始调用,首先载入模型,使其梯度冻结,仅打开输入图片的梯度,这样反向传播的时候会更新图片,得到我们想要的 saliency maps。如果图像的形状是(3, H, W),这个梯度的形状也是(3, H, W);计算 saliency map 的时候,需要计算出梯度的绝对值,然后再取三个颜色通道的最大值;直接来代码,先载入些数据,用的是 cs231n 作业里面的。原创 2023-11-29 10:56:53 · 2056 阅读 · 0 评论 -
【Pytorch】Visualization of Feature Maps(3)——Image Style Transform
Gram Matrix 最后输出大小只和 filter 的个数有关(channels),上面的例子输出为 3x3。我们可以通过计算 Gram Matrix 的差,来计算两张图片风格上的差距。(特征 f1、f2、f3 之间的关系)。写好前处理减均值,除方差。定义网络,引入 loss。导入基本库,数据读取。原创 2023-11-23 10:46:05 · 651 阅读 · 0 评论 -
【Pytorch】Visualization of Feature Maps(2)——Image Attack
学习参考来自。原创 2023-11-22 10:29:55 · 808 阅读 · 1 评论 -
【Pytorch】Visualization of Feature Maps(1)—— Maximize Filter
学习参考来自。原创 2023-11-21 10:35:54 · 873 阅读 · 1 评论 -
【Pytorch】Learning Notes
由于各进程中的模型,初始参数一致 (初始时刻进行一次 broadcast),而每次用于更新参数的梯度也一致,因此,各进程的模型参数始终保持一致。它使得应用程序认为自己拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。而在 DataParallel 中,全程维护一个 optimizer,对各 GPU 上梯度进行求和,而在主 GPU 进行参数更新,之后再将模型参数 broadcast 到其他 GPU。原创 2022-10-20 22:22:52 · 957 阅读 · 1 评论 -
【Pytorch】Two Layer Neural Network
numpy 实现神经网络原创 2022-09-01 14:13:09 · 445 阅读 · 0 评论 -
【Pytorch】hymenoptera
蚂蚁蜜蜂二分类原创 2022-09-01 11:42:44 · 914 阅读 · 0 评论 -
【Pytorch】MNIST
【代码】【Pytorch】MNIST原创 2022-09-01 10:49:12 · 228 阅读 · 0 评论 -
【Pytorch】Face Landmarks
【代码】【Pytorch】Face Landmarks原创 2022-09-01 10:45:43 · 1245 阅读 · 0 评论 -
【Pytorch】CIFAR-10
【代码】【pytorch】CIFAR-10原创 2022-09-01 10:40:35 · 775 阅读 · 0 评论 -
【Pytorch】Loss Function
在机器学习中,损失函数是代价函数的一部分,而代价函数则是目标函数的一种类型。Loss function,即损失函数:用于定义单个训练样本与真实值之间的误差;Cost function,即代价函数:用于定义单个批次/整个训练集样本与真实值之间的误差;Objective function,即目标函数:泛指任意可以被优化的函数。KL散度 = 交叉熵 - 熵回归损失:用于预测连续的值。如预测房价、年龄等。分类损失:用于预测离散的值。如图像分类,语义分割等。......原创 2022-08-27 09:27:00 · 1203 阅读 · 1 评论 -
【GPU】
不断修订中。。。文章目录前言1 显存占用1.1 参数的显存占用1.2 梯度与动量的显存占用1.3 输入输出的显存占用1.4 总结1.5 优化2 GPU 利用率3 显存释放A 附录 Use GPU to speed up trainingA.1 导入tensorflow模块A.2 建立和执行计算图A.3 测试GPU与CPU性能的差别前言日常炼丹时,nvidia-smi 可以看到如下界面watch nvidia-smi 可以看到动态的,页面中显存占用和 GPU 利用率有直接的联系吗?本博客就此展.原创 2020-12-24 16:13:55 · 2014 阅读 · 0 评论 -
9 Tips For Training Lightning-Fast Neural Networks In Pytorch
梯度累加在你已经达到计算资源上限的情况下,你的 batch size 仍然太小(比如 8),然后我们需要模拟一个更大的 batch size 来进行梯度下降,以提供一个良好的估计。假设我们想要达到 128 的batch size大小。我们需要以 batch size 为 8 执行 16 个前向传播和向后传播,然后再执行一次优化步骤。# clear last stepoptimizer.zero_grad()# 16 accumulated gradient stepsscaled_loss .转载 2020-12-21 13:55:12 · 448 阅读 · 0 评论 -
《PyTorch | MorvanZhou 》learning notes(下)
学习资源PyTorch 动态神经网络前文链接《PyTorch | MorvanZhou 》learning notes(上)文章目录11 LSTM for MNIST(GPU)12 RNN for Regression(GPU)13 Autoencoder(GPU)14 GAN(GPU)15 Dropout16 Batch Normalization(略)17 DQN(略)11 LSTM for MNIST(GPU)在 9、10 小节的基础上,直接改成 GPU 的版本跑跑"""Vi原创 2020-11-12 16:46:56 · 485 阅读 · 1 评论 -
【Pytorch】With TensorBoard
TensorFlow 或 Keras 配合 TensorBoard 使用,能非常便捷的可视化网络的各种结构细节和参数变化(参考 《Tensorflow | 莫烦 》learning notes),本博客介绍 pytorch 如何配合 tensorboard 使用!下面用一个例子介绍下 pytorch 中使用 tensorboard 记录 loss,acc 和 learn rate大致流程如下 (pytorch中使用tensorboard查看损失)代码参考 pytorch训练自己图像分类数据集.原创 2020-10-09 19:41:02 · 416 阅读 · 1 评论 -
【Pytorch】Load your own dataset
pytorch 在载入数据时用torchvision.datasets.ImageFolder 配合 torch.utils.data.DataLoader 很方便,但是只能遍历图片和图片的标签,无法灵活的获取图片的其他信息,比如图片的名字,本文介绍如何定义自己的 ImageFolder,在使用 Dataloader 时实现获取图片名字的功能!文章目录1 ImageFolder and DataLoader2 OwnFolder and DataLoader3 transforms1 ImageF.原创 2020-10-09 19:39:31 · 1185 阅读 · 1 评论 -
【Pytorch】Label Smoothing
理论介绍可以参考 【Inception-v3】《Rethinking the Inception Architecture for Computer Vision》 中的 4.5 Model Regularization via Label Smoothing本质就是用右边(意会下就行)的标签替换左边的 one-hot 编码形式,让网络别那么愤青,成了二极管(非黑即白)代码实现如下,来自 【Pytorch】label smoothingclass NMTCritierion(nn.Module):原创 2020-10-09 19:37:43 · 2215 阅读 · 5 评论 -
【Caffe】View the Weights and Features
参考 caffe的python接口学习(8):caffemodel中的参数及特征的抽取文章目录1 View the Features2 View the Weights1 View the Featuresimport caffenet = caffe.Net(net_file,caffe_model,caffe.TEST) #加载model和networknet.blobs['top'].data其中net_file 为 .prototxt deploy 文件caffe_m.原创 2020-10-09 19:35:20 · 282 阅读 · 0 评论 -
【Pytorch】View and Freeze the Weights
图片来自《冰河时代》,冰箱里的文明文章目录1 查看网络的权重2 冻结网络的权重1 查看网络的权重下面代码可以查看卷积神经网络中的第一个卷积层的权重,通过 named_parameters() 索引来访问各层参数params = list(model.named_parameters())name,param = params[0] # eg: conv1print(name)print(param)查看具体某层网络输出结果的话,可以直接在网络定义的部分,也即 forward 函数中.原创 2020-09-19 22:36:38 · 515 阅读 · 1 评论 -
【Pytorch】nn.Relu and F.relu
文章目录1 nn.Relu2 F.relutorch.nn.Relu and torch.nn.functional.relu 结果一致,不同点如下1 nn.Relu不同的是 nn.Relu 作为一层结构,必须添加到 nn.Module 容器中才能使用使用方式如下,定义时不接输入,定义好后,使用 Relu()(input) 进行参数传递class BasicBlock(nn.Module): expansion = 1 def __init__(self): ..原创 2020-09-19 22:34:04 · 2182 阅读 · 1 评论 -
【Pytorch】 DataParallel Train and Test
文章目录1 训练2 测试1 训练训练时加下面一句就行model = torch.nn.DataParallel(model, device_ids=GPUS).cuda()就行,其中 GPUS = [0,1,2,3] 为指定的 GPU号或者用下面方式指定要用的 GPU 号import osos.environ["CUDA_VISIBLE_DEVICES"] = "0,1"net = torch.nn.DataParallel(net).cuda()2 测试测试时载入并行训练的模..原创 2020-09-19 22:30:13 · 531 阅读 · 0 评论 -
【Pytorch、OpenCV】images
文章目录1 图片通道顺序2 图片归一化情况(像素值范围)1 图片通道顺序框架颜色通道顺序读入图片通道顺序像素值范围Pytorch(默认)RGBCHW0-1OpenCVBGRHWC0-255PILRGBHWC0-2552 图片归一化情况(像素值范围)1)pytroch用 torchvision.datasets.ImageFolder 配合 torch.utils.data.DataLoader 读数据的时候,默认会除以一个 255,也即.原创 2020-08-12 18:54:29 · 1597 阅读 · 1 评论 -
Caffe 网络结构可视化
法一:netscop 在线工具,网址如下http://ethereon.github.io/netscope/#/editor复制好 model.prototxt 的内容,Shift+Enter 就可以画出网络结构法二:caffe 自带的画图工具,在 /caffe/python/ 目录下,draw_net.py 文件,使用该方法需要提前安装两个库apt-get install graphvizpip install pydot绘制方法如下运行 draw_net.pypython ca原创 2020-08-04 21:00:31 · 634 阅读 · 0 评论 -
《PyTorch | MorvanZhou 》learning notes(上)
学习资源PyTorch 动态神经网络后文链接:《PyTorch | MorvanZhou 》learning notes(下)文章目录1 Why PyTorch?2 Torch or Numpy3 Variable4 Activation Function5 Regression and Classification5.1 Regression5.2 Classification5.3 Sequential6 Save and Load7 批训练(DataLoader)8 Optimize原创 2019-11-06 16:38:07 · 626 阅读 · 2 评论 -
《Tensorflow | 莫烦 》learning notes
文章目录1 科普: 人工神经网络 VS 生物神经网络1 科普: 人工神经网络 VS 生物神经网络两者的区别人工神经网络靠的是正向和反向传播来更新神经元, 从而形成一个好的神经系统, 本质上, 这是一个能让计算机处理和优化的数学模型.而生物神经网络是通过刺激, 产生新的联结, 让信号能够通过新的联结传递而形成反馈....原创 2018-11-08 15:40:14 · 892 阅读 · 0 评论 -
【Programming】
增强式学习,借助定义 Actions、States、Rewards 的方式不断训练机器循序渐进,学会执行某项任务的算法。常用算法有Q-LearningTDSarsa总结的比较好的一个机器学习框架TensorFlow:低级深度学习链接库,Brain Team 开发,15年11月公开源码Keras:高级深度学习链接库1)Tensor(张量)零维的 Tensor 是标量,1维的是向量,2维以上的是矩阵2)Flow(数据流)去陌生的城市,不会当地的语言,最好的方式,画一张图告诉司机你的目的地Node。原创 2018-02-05 19:35:01 · 3517 阅读 · 0 评论 -
【Keras-DCGAN】MNIST / CIFAR-10
原文本博客是 One Day One GAN [DAY 2] 的 learning notes!GAN 是用 CNN 搭建的!!!DCGAN:《Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks》把 GAN 中的 MLP 换成了 CNN,应用在人脸生成中!...原创 2019-05-09 20:56:11 · 2124 阅读 · 0 评论 -
【TensorFlow-MLP】MNIST
文章目录1 database1.1 下载数据集1.2 查看training data1.3 显示图形1.4 查看label1.5 查看validation1.6 查看test1.7 批次读取MINIST数据2 Build Model2.1 定义layer函数2.2 用layer函数建立模型2.3 定义训练方式2.4 定义模型的准确率的方式3 Training process3.1 参数设置3.2 ...原创 2018-07-31 00:55:54 · 1671 阅读 · 0 评论 -
【Keras-NIN】CIFAR-10
系列连载目录请查看博客 《Paper》 4.1 小节 【Keras】Classification in CIFAR-10 系列连载学习借鉴github:BIGBALLON/cifar-10-cnn知乎专栏:写给妹子的深度学习教程参考【NIN】《Network In Network》(arXiv-2013)【Keras-CNN】CIFAR-10本地远程访问Ubuntu16....原创 2018-11-23 17:35:40 · 1474 阅读 · 0 评论 -
【Keras-DenseNet】CIFAR-10
系列连载目录请查看博客 《Paper》 4.1 小节 【Keras】Classification in CIFAR-10 系列连载学习借鉴github:BIGBALLON/cifar-10-cnn知乎专栏:写给妹子的深度学习教程参考本地远程访问Ubuntu16.04.3服务器上的TensorBoard《Densely Connected Convolutional Netw...原创 2018-12-05 14:41:47 · 3063 阅读 · 14 评论 -
【Keras-RNN】IMDb
文章目录1 下载数据集2 数据预处理3 建立模型4 训练模型5 评估模型的准确率6 预测概率和预测结果7 查看测试集中的文本和其预测结果8 测试新的影评9 保存模型MLP或者CNN都只能依照当前的状态进行识别,如果处理时间序列的问题,就需要RNN、LSTM模型了。本博客使用 RNN 对 IMDb 数据集进行分析预测,用MLP进行预测可以参考这篇博客 【Keras-MLP】IMDbRNN结构...原创 2019-04-15 22:06:58 · 3216 阅读 · 7 评论
分享