机器学习入门与放弃
该家伙很懒,没有任何介绍
lsh呵呵
https://github.com/lsh1994
展开
-
修改权重使用预训练模型权重
抛弃最后的输出层并非最佳方案。可以修改输出层的权重,以。使用预训练模型为例。原创 2022-10-26 16:52:37 · 992 阅读 · 0 评论 -
CNN模型:MobileNet v1
MobileNet是谷歌提出的轻量级模型,其基本单元是深度可分离卷积(depthwise separable convolution)。depthwith convolution:不同卷积核分别用于各通道。pointwise convolution:1x1的普通卷积。depthwise separable convolution:首先depthwise卷积,再pointwise卷...原创 2019-11-26 19:42:31 · 595 阅读 · 0 评论 -
DF“观云识天”-机器图像算法赛道-天气识别总结
前言由于马上要开题了,对于本赛题也没啥创新的思路,遂总结结束。最初的想法便是通过比赛来进行PyTorch的学习,只是一旦加入正在进行的赛题,就会情不自禁的陷入调参的循环,反而浪费体力,不能发扬基础。遂此后还应牢记初衷。如下是EDA的一些图表:实验概述训练所用方法:数据增强(放缩、随机大小裁剪、翻转),Auto_augment,随机擦除(RandomErasing)学习率:RA...原创 2019-10-23 15:41:46 · 4160 阅读 · 1 评论 -
AttributeError: 'torch._C.Value' object has no attribute 'debugName'...
问题描述使用pytorch可视化工具hiddenlayer时,出现如下错误:当前系统版本:win10,python 3.6,pytorch 1.1。解决方案修改源码(位置为出错信息包含的路径,如我的为D:\Anaconda3\lib\site-packages\hiddenlayer\pytorch_builder.py")中的debugName为uniqueName即可。使用pyto...原创 2019-11-21 18:01:21 · 2009 阅读 · 1 评论 -
plt.ion动图使用,训练过程展示
代码如下:import matplotlib.pyplot as pltx = list(range(1, 100)) # epoch arrayloss = [10 / (i**2) for i in x] # loss values arrayplt.ion()for i in range(1, len(x)): ix = x[:i] iy = loss[:...原创 2019-05-31 11:11:13 · 3510 阅读 · 1 评论 -
第二届中国“高分杯”美丽乡村大赛第一名总结
第二届中国“高分杯”美丽农村大赛从2019年1月底到2019年3月中旬,终于进入最后阶段。从我公布第一个baseline版本(https://blog.csdn.net/nima1994/article/details/86685024 ,2019年1月29日)到现在,已经通过大量实验,将精度由最初的0.2686提升到了0.4861,位于第三,与精度第一名的团队差0.0004。最终获得第一名,此文...原创 2019-05-05 16:57:29 · 2965 阅读 · 17 评论 -
计算机视觉的 基础学习
四大基本任务分类定位检测语义分割实例分割难点语义鸿沟拍摄视角变化目标占据图像的比例变化光照变化背景相似目标形变遮挡卷积层为什么图像数据维度高,Dense参数多、计算量大、容易过拟合。卷积:局部连接:图像特征、边缘、角点只占据图像很小的部分,相隔较远的图像块关系不大。通道上全连接、空间上局部连接。参数共享:提取图像特征的模式可以复用。空间上参数...原创 2019-05-04 23:25:05 · 374 阅读 · 0 评论 -
推荐系统:基于用户的协同过滤
所用数据:https://grouplens.org/datasets/movielens/数据读取"""@author: LiShiHang@software: PyCharm@file: data_preprocessing.py@time: 2019/4/3 21:12@desc:"""import pandas as pdimport numpy as npnp.s...原创 2019-04-07 22:02:08 · 845 阅读 · 0 评论 -
空间变换网络STN参考
空间变换网络Spatial Transformer Networks(STN)模型,可以认为是计算机视觉中的注意力模型。其可以放在神经网络模型输入之后。如下为一些描述和实现。https://mp.weixin.qq.com/s/KKlmYOduXWqR74W03Kl-9Ahttps://github.com/hello2all/GTSRB_Keras_STNhttps://github.c...原创 2019-04-04 18:38:19 · 1624 阅读 · 0 评论 -
混淆矩阵、准确率、精确率、召回率、F1值
1 . sklearn中的混淆矩阵行表示真实值,列表示预测值。from sklearn.metrics import classification_report, cohen_kappa_score, accuracy_score, confusion_matrixprint(confusion_matrix(true_label, predict_label))print(classif...原创 2019-03-06 14:45:50 · 3941 阅读 · 0 评论 -
第二届中国“高分杯”美丽乡村大赛baseline
第二届中国“高分杯”美丽乡村大赛时至昨日,官方补齐了训练标签和测试影像。使用Arcgis打开训练tif会有警告(感觉是个大问题),训练标签txt也没加载上。测试tif直接在Arcgis打不开。实验表明ENVI可以打开。根据官网说明,使用GDAL读取。此代码仅供参考。追后逐大家新年快落。github代码...原创 2019-01-29 06:04:17 · 1936 阅读 · 13 评论 -
多光谱遥感分类(五):代码优化+自定义模型
目录多光谱遥感分类(一):数据集制作多光谱遥感分类(二):VGG微调多光谱遥感分类(三):CNN提取特征+RF分类多光谱遥感分类(四):使用GLCM+RF多光谱遥感分类(五):代码优化+自定义模型]本文,可独立成章。描述拥有数据4波段的影像,标签数据如下:其中,所含字段分别为在影像中的像素坐标(shp转像素坐标代码可见:遥感分类的一种采样方法)和标签,中心采样大小为9。其他晦涩难...原创 2019-01-15 10:23:45 · 2316 阅读 · 4 评论 -
keras U-Net实现
代码位置https://github.com/lsh1994/keras-segmentation模型结构我这里用到了vgg16微调作为编码器,读者可以参照着自定义层对称的编解码结构。U-Net网络处理输入时进行了镜面放大2倍,所以最终的输入输出缩小了2倍。此处直接在靠后的输出上上采样置原始图像大小。训练结果...原创 2019-01-11 14:20:44 · 2809 阅读 · 32 评论 -
keras SegNet实现
代码位置https://github.com/lsh1994/keras-segmentation池化索引可参考:https://blog.csdn.net/nima1994/article/details/84319859模型结构训练结果待更……原创 2018-12-18 21:05:28 · 5013 阅读 · 16 评论 -
机器学习实战:决策树-隐形眼镜类型
代码及数据地址输出结果:model: {‘tearRate’: {‘reduced’: ‘no lenses’, ‘normal’: {‘astigmatic’: {‘yes’: {‘prescript’: {‘hyper’: {‘age’: {‘presbyopic’: ‘no lenses’, ‘young’: ‘hard’, ‘pre’: ‘no lenses’}}, ‘myope’...原创 2018-12-01 07:42:50 · 635 阅读 · 0 评论 -
python决策树(二叉树、树)的可视化
问题描述在我学习机器学习实战-决策树部分,欲可视化决策树结构。最终可视化结果:解决方案决策树由嵌套字典组成,如:{‘no surfacing’: {0: ‘no’, 1: {‘flippers’: {0: ‘no’, 1: ‘yes’}}}}使用graphviz包:from graphviz import Digraph关键代码:def plotModel(tree): ...原创 2018-12-01 07:43:17 · 3290 阅读 · 0 评论 -
机器学习实战:决策树-是否有鱼
代码及数据 地址"""@author: lishihang@software: PyCharm@file: id3_fish.py@time: 2018/11/27 15:58""&原创 2018-12-01 07:42:31 · 563 阅读 · 0 评论 -
机器学习实战:knn手写数字
数据及代码github。"""@author: lishihang@software: PyCharm@file: handwritten.py@time: 2018/11/26 16:18"""import numpy as npimport matplotlib.pyplot as pltimport osimport gl原创 2018-12-01 07:42:06 · 316 阅读 · 0 评论 -
机器学习实战:knn海伦约会
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport copydef autoNorm(x): """ 最大值最小值归一化 :param x: 需要归一化的特征向量 :return: 新的数组、极差、最小值 &a原创 2018-12-01 07:41:44 · 1558 阅读 · 0 评论 -
keras SegNet使用池化索引(pooling indices)
keras中没有max_pool_with_argmax,tensorflow中有,最近学习到SegNet,其中下采样用到此部分。此处用到自定义层。完整测试代码如下。from keras import backend as Kfrom keras.engine import Layerimport kerasimport numpy as npimport tensorflow as t...原创 2018-11-24 20:30:01 · 6795 阅读 · 16 评论 -
keras FCN实现(2)
fcn8的实现,承接上篇。代码位置:https://github.com/lsh1994/keras-fcn结构:训练曲线:可视化结果:原创 2018-11-14 10:33:53 · 6896 阅读 · 13 评论 -
keras语义分割FCN实现
实验环境win10;python3.6 .7 ;项目Valuekeras2.2.4tensorflow-gpu1.10.0实验参考:https://github.com/divamgupta/image-segmentation-keras实验数据:https://drive.google.com/file/d/0B0d9ZiqAgFkiOHR1NTJhW...原创 2018-11-13 17:23:57 · 9844 阅读 · 48 评论 -
keras的Conv2DTranspose与Conv2D输出大小
在学习FCN的过程中,用到了Conv2DTranspose,在此给出其计算公式。Conv2D输出计算对于Conv2D(此处不再考虑卷积核数,即参数filters,因为设为多少,输出就是多少),输入图片矩阵为:WxW卷积核大小,kernel_size:FxF步长strides:S边界扩充padding的值:P则,输出大小N:N=(W−F+2P)/S+1 N=(W-F+2P)/S+1...原创 2018-11-13 09:48:24 · 22835 阅读 · 3 评论 -
keras的siamese(孪生网络)实现
代码位于keras的官方样例,并做了微量修改和大量学习原创 2018-11-13 09:48:41 · 14110 阅读 · 8 评论 -
keras DCGAN
训练结果:代码:代码基于 https://github.com/eriklindernoren/Keras-GAN/blob/master/dcgan/dcgan.py ,并修改了 易于混淆的代码。from keras.datasets import mnistfrom keras.layers import Input, Dense, Reshape, Flatten, Dropo...原创 2018-11-01 15:39:02 · 3926 阅读 · 7 评论 -
pytorch中查看gpu信息
torch.cuda.is_available()cuda是否可用;torch.cuda.device_count()返回gpu数量;torch.cuda.get_device_name(0)返回gpu名字,设备索引默认从0开始;torch.cuda.current_device()返回当前设备索引;更多信息:https://pytorch.org/docs/...原创 2018-10-11 22:07:14 · 102279 阅读 · 2 评论 -
pytorch模型可视化:pytorchviz
不同于keras的可视化,keras.utils.plot_model。pytorch模型可视化比较复杂,此处使用pytorchviz。操作步骤1 . 命令行安装pytorchviz(之前要安装graphviz,这个我keras时已经安装)pip install git+https://github.com/szagoruyko/pytorchviz2 . 使用如下代码,保存在统计目录下...原创 2018-10-11 22:06:52 · 12977 阅读 · 3 评论 -
pytorch模型可视化2:tensorboardX
不同于tensorflow提供了强大的可视化功能,pytorch可视化一般借助第三方工具,更通用的方法是使用tensorboardX。https://github.com/lanpa/tensorboardX使用命令:pip install tensorboardX安装后,如下代码可视化模型:print(model)writer = SummaryWriter(log_dir="./log...原创 2018-10-11 22:07:03 · 1720 阅读 · 3 评论 -
遥感分类的一种采样方法
如深度学习,输入要求为一小邻域(下文称邻域块)代表中心像素类型。现有栅格图像,以及抠图面文件(.shp)。以下主要集中与arcgis操作。阅读本文前,建议阅读多光谱遥感分类:使用CNN1(一)。一种方法是使用随机点,但是就本任务目标其弊端明显(邻域块重叠相关,可通过设置随机点间隔解决,但会使样本大大减少)。具体参考本文将描述的方法基于渔网。通过创建渔网(设置像元间隔)->叠加分析.相交...原创 2018-10-18 15:56:26 · 2123 阅读 · 0 评论 -
keras交通信号识别(分类)
自定义卷积网络完成分类。图像预处理(直方图均衡化增加对比度)。使用数据:德国交通信号识别,其中train/test dataset的Images and annotations及test dataset的Extended annotations including class ids。实验结果数据及代码组织结构:训练过程与结果:代码"""@file: tranfficSignR...原创 2018-11-01 09:49:51 · 2536 阅读 · 0 评论 -
常用机器学习遥感与其他数据集
UC Irvine 机器学习数据集高光谱遥感数据Indian Pines Salinas scene/Salinas-A scenePavia Centre scene/Pavia University scene/CupriteKennedy Space Center (KSC)Botswana零样本数据AWA 零样本数据Caltech-UCSD Birds-200-2...原创 2018-09-27 12:07:17 · 2365 阅读 · 0 评论 -
kaggle: Plant Seedlings Classification 植物幼苗分类
比赛地址基于Discussion的一种解决方案,使用Xception微调(搬运工)。训练集样本:在线精度:0.96347(375/836)。(评价标准:f1-score)训练曲线(橙色为全连接层微调、绿色为全部问题):github位置...原创 2018-09-27 12:05:49 · 1613 阅读 · 0 评论 -
kaggle: Dogs vs. Cats 猫狗分类
Dogs vs. Cats Redux: Kernels Edition模型使用三个深度学习网络ResNet50, InceptionV3, Xception提取图片特征,然后使用神经网络DNN分类。参考网上,并作了改善。(搬运工)基于keras2.2.2 ,原文基于keras1.2.2,很多函数接口已经改变在windows上应用,符号链接不能用,所以这里使用分文件夹的方式目前scor...原创 2018-09-27 12:05:07 · 2021 阅读 · 3 评论 -
读取tensorboard日志数据
问题描述目前的问题是,使用keras的callback将日志数据(acc、loss、val_acc、val_loss)写入文件,然后使用Tensorboard在浏览器查看变化,现在打算读出相关数据,并自行绘图。解决方案from tensorboard.backend.event_processing import event_accumulator#加载日志数据ea=event_acc...原创 2018-09-26 16:50:24 · 14102 阅读 · 10 评论 -
天池:铝型材表面瑕疵识别笔记
内容时间:9月18日实验结果使用Kaggle猫狗分类的代码,即使用三个深度学习网络ResNet50, InceptionV3, Xception提取图片特征,然后使用神经网络DNN分类,验证集显示过拟合。本地精度0.93~0.95,在线精度0.8845。 precision recall f1-score support 0 1.00 ...原创 2018-09-20 11:10:44 · 8336 阅读 · 24 评论 -
天池零样本:禁止使用外部图片数据/预训练模型进行竞赛的原因
既然是零样本分类,在测试集中并不希望出现参与训练的类别实例,如果我们使用预训练模型,比如基于Imagenet数据集的,难保测试集中的骡子没有在ImageNet中出现过,外部数据同理。如果如题(使用外部图片数据/预训练模型进行竞赛),自然会导致测试集结果的提高,但已经不是零样本的问题了。是吧。。。...原创 2018-09-12 09:40:14 · 659 阅读 · 0 评论 -
天池:零样本目标识别新手笔记2
所用思路和上一个差不多,本篇基于天池论坛的这篇文章:一份简单的baseline+注释(Keras多分类联合训练+欧式距离迁移映射) ,并做了自己的处理。没有构造如 'non_1'的特征,直接使用如原来的全0特征表示,并对每类特征除和使用的vgg16处理后的特征文件如下: ...原创 2018-09-13 17:41:26 · 1621 阅读 · 1 评论 -
ResNet50网络结构
代码:import keraskeras.utils.plot_model(keras.applications.ResNet50(include_top=True,input_shape=(224,224,3),weights=None), to_file='image_model.png', show_shapes=True)ResNet50的标准输入为224x224,avg_p...原创 2018-09-13 12:25:35 · 51258 阅读 · 3 评论 -
天池:零样本目标识别新手笔记
2018之江杯全球人工智能大赛-零样本图像目标识别简单数据分析源码:github地址原创 2018-09-05 15:54:19 · 6374 阅读 · 15 评论 -
keras中的keras.utils.to_categorical方法
to_categorical(y, num_classes=None, dtype='float32')将整型标签转为onehot。y为int数组,num_classes为标签类别总数,大于max(y)(标签从0开始的)。返回:如果num_classes=None,返回len(y) * [max(y)+1],否则为len(y) * num_classes。import keraso...原创 2018-09-06 21:56:16 · 52956 阅读 · 3 评论