乱七八糟的笔记

优秀的博客很多了,这只是个笔记
私信 关注
TinaO-O
码龄7年
  • 750,924
    被访问量
  • 302
    原创文章
  • 4,381
    作者排名
  • 10,591
    粉丝数量
  • 毕业院校 哈尔滨工业大学
  • 于 2013-12-23 加入CSDN
获得成就
  • 获得372次点赞
  • 内容获得397次评论
  • 获得967次收藏
荣誉勋章
TA的专栏
  • keras 从入门开始
    24篇
  • 大数据
    6篇
  • pyspark
    3篇
  • ubuntu linux
    41篇
  • anaconda 不可或缺的python环境神器
    14篇
  • deeplabv3
    1篇
  • 使用latex撰写论文
    3篇
  • 物体检测FPN RPN 应用于MRCNN tensorflow代码
    5篇
  • 人工智能论文阅读
    8篇
  • final成员,java
  • java
    3篇
  • final
    2篇
  • 成员
    2篇
  • 类似于note
    4篇
  • html
    1篇
  • 浏览体验
    5篇
  • 深度学习
    27篇
  • 计算机视觉
    21篇
  • 人工智能
    38篇
  • 神经网络
    37篇
  • pytorch
    4篇
  • python
    38篇
  • linux
    43篇
  • matlab
    24篇
  • 机器学习
    15篇
  • error
    26篇
  • 传统方法
    10篇
  • 信息安全
    1篇
  • 数学
    7篇
  • numpy
    5篇
  • c
    1篇
  • anaconda
    18篇
  • 数据挖掘
  • 模式识别
    2篇
  • 服务器管理
    8篇
  • 系统
    4篇
  • jupyter
    7篇
  • tensorflow
    33篇
  • sublime
    3篇
  • xmanager
    1篇
  • tex
    4篇
  • mask rcnn
    2篇
  • keras
    25篇
  • pycharm
    4篇
  • git
  • deeplabv3+
    26篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

spark sql 读取 parquet 文件

你可以使用spark-sql -S启动 sql的 spark。CREATE TEMPORARY VIEW parquetTableUSING org.apache.spark.sql.parquetOPTIONS ( path "/user/data/dt=2020-09-09/")这行代码会从上述文件夹读取parquet文件,读取后的table就叫parquetTable可以使用:desc parquetTable;select * from parquetTable li
原创
76阅读
0评论
0点赞
发布博客于 3 月前

mysql 自定义排序 ORDER BY FIELD 用法

本章解决自定义排序问题。比如,淘宝订单有三个状态:正在处理中,取消,已完成,想要自己的订单数据按照:1.处理中。2.已完成。3取消排序。下面的代码就实现了这一功能,自定义了status按照'In Process', 'On Hold', 'Cancelled','Resolved', 'Shipped'进行排序那么,Field遇到In Process返回的是1.On Hold则是2。以此类推。注意,如果没写全,比如:遇到Disputed会自动返回0....
原创
121阅读
0评论
0点赞
发布博客于 4 月前

python 判断 hdfs 文件 目录 是否存在

很简单 filexistchk = "hadoop dfs -test -e " + hdfs_path + ";echo $?" filexistchk_output = subprocess.Popen(filexistchk, shell=True, stdout=subprocess.PIPE).communicate() if '1' not in str(filexistchk_output[0]): return 1 else:
原创
732阅读
0评论
0点赞
发布博客于 5 月前

分布式 unknownError:Could not start gRPC server

这里要说一个比较偶然的错误,会导致worker都不停止。ps会输出unknownError:Could not start gRPC server.这是由于端口被占用,也就是类似于:节点名:2223 (比如192.18.49.1:2223,或者1:2223)其中2223就是端口。如果2223被什么占用了,那么worker跑完就不会停止。节点不释放,就会空耗资源,就会费钱。解决方法是开始跑程序就要注意ps的输出,如果提示了unknownError:Could not start gRPC
原创
134阅读
0评论
0点赞
发布博客于 6 月前

pyspark 中文 colomn schema 列 改名

当列名是中文时,你引用该列的名字会报错。df.姓名#报error!!df.name #没有error所以需要使用 selectExpr改名df = spark.read.csv("./ex.csv").selectExpr("姓名 as name")df.name #不报错ref:https://stackoverflow.com/questions/34077353/how-to-change-dataframe-column-names-in-pyspark...
原创
110阅读
0评论
0点赞
发布博客于 6 月前

pyspark 筛选 null 行

如果某行数值是null,去掉这行,比如代码:df = df.filter(df.x2. isNotNull())+---+----+----+| x1| x2| x3 |+---+----+----+| a| b|null|| 1|null| 0 || 2| 2| 3 |+---+----+----+#去掉之后+---+----+----+| x1| x2| x3 |+---+----+----+| a| b|null|| 2|
原创
781阅读
0评论
0点赞
发布博客于 6 月前

pySpark 读取csv文件

这个读取蛮水的。but从官网来的。from pyspark.sql import SparkSessionspark = SparkSession.builder \ .enableHiveSupport().getOrCreate()df = spark.read.csv("/tmp/resources/zipcodes.csv")df.printSchema()##可以得到root |-- _c0: string (nullable = true) |-- _c1: s.
原创
1164阅读
2评论
0点赞
发布博客于 6 月前

python CSV 文件读取 存储 例子

我想读取一个CSV文件,然后只取前几条数据,之后存储成为一个新的文件,代码很简单,注意看注释哦import csv#这个是我要读取的csv,文件名不一定携带csv也可以file_dir = "./666.c000"#这个是我要写入的write_name = "./csvSamples.csv"csvFile = open(file_dir,"r")csvFileS = open(write_name,"w")#读取reader = csv.DictReader(csvFile)f
原创
140阅读
0评论
0点赞
发布博客于 6 月前

如何上传PASCAL VOC 2012 test数据

pascal voc本质是个比赛数据库,所以test未公开,需要参赛者上传自己对测试图片的预测,官方服务器会给出你的mIOU。1.注册一个账号http://host.robots.ox.ac.uk:8080/2.找到你要参赛的名字,比如我选择了第二行的2012比赛,对应的也是PASCAL VOC2012数据库的图像。3.点击new submission4.其他东西随便填写,主要是Challenge要对:如果你要比2012年的测试数据选择 VOC2012如果是2012年的验
原创
805阅读
0评论
3点赞
发布博客于 8 月前

RuntimeError: cuda runtime error (59) : device-side assert triggered when running

这个出现的原因是网络的维度对你的数据没有准备。比如,网络以为你label标签从0到50,结果你输入的数据既有-1,又有80. 或者在NLP里面,你的字典一共200个,但是你偏要就设置100个embed。...
原创
250阅读
0评论
0点赞
发布博客于 10 月前

adam 策略参数设置 torch tensorflow keras

TensorFlow: learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08.Keras: lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0. Blocks: learning_rate=0.002, beta1=0.9, beta2=0.999, epsilo...
原创
1388阅读
0评论
0点赞
发布博客于 10 月前

Attention is all you need 代码笔记

主要依据:http://jalammar.github.io/illustrated-transformer/写作原因:文章太长,我必须总结做笔记。也可以认为是翻译,但是没有原文详细(应该)所以有那里卡主,过不去,就去看看原文相应的地方。严格来讲我这个不能算做翻译。问题简述:利用attention机制进行语言翻译(可并行,不用RNN)。Self attentionembedding...
原创
269阅读
0评论
0点赞
发布博客于 10 月前

python3 字典建立三种方式 字母顺序字典

字典的建立:1.批量建立字典:import stringdict ={key:0 for key in string.ascii_lowercase }letter_count{'a': 0, 'b': 0, 'c': 0, 'd': 0, 'e': 0, 'f': 0, 'g': 0, 'h': 0, 'i': 0, 'j': 0, 'k': 0, 'l': 0, 'm'...
原创
380阅读
0评论
0点赞
发布博客于 10 月前

python 3 四舍五入round 会倾向于偶数 很容易出错 round(0.5)=0

在四舍五入时,一般在pytho3都用round(x)比如round(0.1)=0,round(1,6)=2等但是round(0.5)却会返回0,即round(0.5)=0同时round(-0.5)=0官方的解释:https://docs.python.org/3/library/functions.html#roundz这是什么意思呢,就是所有的中间数...
原创
336阅读
0评论
0点赞
发布博客于 10 月前

快速幂 python版本 特别漂亮的代码 递归

class Solution: def myPow(self, x: float, n: int) -> float: def subpow(x,n): if n == 0:return 1 if n == 1:return x result = subpow(x,n>>1) ...
原创
143阅读
0评论
0点赞
发布博客于 11 月前

超透彻解析leetcode有趣的题。287. Find the Duplicate Number

问题描述:找到重复数字。有n+1个位置[0,n],却取值是整数从[1,n]取,比如[1,2,3,4,5,1]由于序号从0开始,所以一共0,1,2,3,4,5.一定有一个重复数值。找到这个重复数值。Input: [1,3,4,2,2]Output: 2此处默认python数组,特点是序号从零开始。其实感觉除了matlab都是从零开始的。这个问题需要用o(1)的存储,以及o(n^2...
原创
113阅读
0评论
0点赞
发布博客于 1 年前

VOC2012服务器好像是停了? 好消息,5。5号又开了,尽快测试,不知道啥时候又会关了

是这样的,VOC2012的test数据未公布,所以只能上传服务器,可是最近服务器好像不工作了,不知道是不是疫情影响,还是怎么了?在7号大概还是好使的,目前突然不好使了。就在eccv投稿期还是好使的。真不是水啊,就是这个不好使的话,问题还是挺大的,不知道是不是我代码出问题了。那以前为啥好使?...
原创
262阅读
4评论
0点赞
发布博客于 1 年前

超实用看图片 matlab imshow(img,[]) 对应 代码 mat2gray() 灰度图像

其实主要是因为平时习惯用imshow(img,[]) 看一些 取值范围不在0-255内的图片。比如如果用imshow()而使用imshow(img,[])就可以了,因为会规格化0-255。但是没法批量操作。没什么可说的img_trans=mat2grey(img);即可将img转成能够保存成图片的样子。...
原创
710阅读
0评论
0点赞
发布博客于 1 年前

分布式运算白花钱警告:使用tensorflow分布式必须注意ps server空耗资源

为武汉祈祷。ps server 不会主动停止,无论在什么情况下。这个问题从2016年提出,到现在,也没有一个简洁干净的解决方式,而这个问题会很严重,如果你使用的是租用资源,会白白花费很多钱钱。我注意到,ps server不论是使用gpu还是cpu资源都不会主动停止,即使worker已经训练完停止了,甚至是遇到错误,ps server仍旧会运行。 这就会导致这个进程对节点资源的持续占有,即使...
原创
432阅读
0评论
1点赞
发布博客于 1 年前

几个小时 几行代码 简单 直白 tensorflow 分布式代码实战

北京又下雪了,这个2020年开启的方式太沉重了。我本人对tf并不精通。分布式听起来也很复杂。而且我要做的是将deeplabv3+的代码做成分布式的。也就是多个节点,相当于用两台服务器的gpu。听起来很麻烦,实际上居然很简单。而我自己也是花了几个小时从什么都不懂到代码跑起来。很多教程写了特别长的文字,我认为画图更简单。本教程尽量简短,好懂,并且有代码。只是基础教程,不能做到自创多GPU损失计...
原创
506阅读
9评论
0点赞
发布博客于 1 年前

官方代码 Deeplab v3+ resnet101 做backbone

大年初一我居然在更博客。今年过年由于病毒横行,没有串门没有聚餐,整个人闲的没事干。。。医生真是不容易,忙得团团转还有生命危险,新希望他们平安。本篇不属于初级教程。如果完全看不懂请自行谷歌或搜索作者博客。deeplab官方提供了多种backbone,通过train.py中传递参数,--model_variant="resnet_v1_101_beta" \可以更改backbone。...
原创
2189阅读
12评论
2点赞
发布博客于 1 年前

并行 云架构 深度框架 sbatch slurm 深度学习 tensorflow环境从搭建到使用 conda

有一定的GPU云时常可用,一个节点4个GPU,我本人决定使用anaconda搭建tensorflow1.13并且使用。anaconda是乙方提供的,使用bash命令可以加载module load anaconda/3.7加载后正常使用create命令建立环境详情见我所有conda标志的博客,其实就是下面一句代码,看明白就不用翻了。下面这句代码就从零开始建立了一个tensor...
原创
1107阅读
0评论
0点赞
发布博客于 1 年前

arxiv 使用方法 上传 文章 注意事项 偷懒

先说结论,arxiv是可以直接上传压缩文件的,然后他会自己解压缩。另外,使用latex在线编辑比如overleaf的需要使用右上角的submit,然后生成压缩文件:参考:http://lowrank.science/arXiv-LaTeX/网上流传了两种错误说法。错误1.arxiv 倾向于接受latex, 如果上传pdf,并且是由latex写的,...
原创
1956阅读
0评论
1点赞
发布博客于 2 年前

Failed to initialize NVML: Driver/library version mismatch

1.解决方式,重启2.重启不管用:使用命令:cat /proc/driver/nvidia/version得到的版本比如:NVRM version: NVIDIA UNIX x86_64 Kernel Module 375.66 Mon May 1 15:29:16 PDT 2017375.66和我安装的418.57显然不匹配。输入命令去掉这个375,倒霉玩意。...
原创
3370阅读
0评论
0点赞
发布博客于 2 年前

GPU有限,如何提高batch size

那么从:https://github.com/mathildor/DeepLab-v3/blob/master/g3doc/faq.mddeeplabv3+也是谷歌团队,tensorflow就是他们的产品。可以看到提高batch size 的方法。batchsize不仅对于batch normalization至关重要,而且梯度下降也需要一定的batchsize,比如batchsize...
原创
1011阅读
1评论
1点赞
发布博客于 2 年前

英语作文人工智能免费在线批改打分 无需注册 微软小英作文打分 托福 雅思 高中作文 GRE

这篇文章主要是改打分系统的评测。托福雅思高考等https://app.mtutor.engkoo.com/englishwriting/,gre见最下面。另外人工智能的意思是,微软小英会根据你的文章内容帮你改作文,比如他能补全你缺少的相关名词。目录先展示下评分功能:它可以从四个方面给出接近托福的打分。比如,题目是:多种考试类型可以选择:如果修改后再要求打分:主要特点:...
原创
19576阅读
0评论
1点赞
发布博客于 2 年前

ubuntu远程复制命令 不是scp 不覆盖已有文件 rsync

rsync -avzu --progress /root/client/ root@202.112.23.12:/home/work/如果已有文件上面命令会确认,直接跳过:
原创
848阅读
0评论
0点赞
发布博客于 2 年前

ubuntu 降低内核版本 最简单的内核版本切换,更改启动顺序 看了很多教程 不好使,于是自己写了一个

你不嫌麻烦的话,每次切换内核直接开机启动的时候手工切换即可,就那个开始屏幕,问你用哪个版本的。下面不用看了。如果你想省事:先解释下,毕竟这个东西不能出错。主要分为三步:安装你想要得内核,查看是否安装,开机自动启动设置为启动你要的版本。查看已安装内核版本:首先你要有若干个内核版本可供切换:比如使用命令grep menuentry /boot/grub/grub.cfg...
原创
3260阅读
3评论
0点赞
发布博客于 2 年前

ubuntu更改文件夹内所有东西的权限 所有用户都可以读写 :sudo chmod -R 777 ./foder

主要是容易忘记递归是大写还是小写,很多命令都是小写,然后网上只有改单层的,还要墨迹一大堆解释。如果要改所有者用chown是挺水的,不过省的下次搜索浪费我时间。...
原创
1361阅读
0评论
0点赞
发布博客于 2 年前

cityscape sets.rar

cityscape 数据库 详细标注的5000张图片, 分为了train val test三个集合,这个压缩包是train.txt+val.txt+test.txt, 文件名,类似于./cityscapes/leftImg8bit/val/frankfurt/frankfurt_000001_049209_leftImg8bit.png ./cityscapes/leftImg8bit/val/frankfurt/frankfurt_000001_042098_leftImg8bit.png
rar
发布资源于 2 年前

cityscape train.txt 数据 python读取子文件夹内所有文件

类似于:cityscapes前面的都是我自己的文件夹,你看你需要多长的自己截取../cityscapes/leftImg8bit/train/krefeld/krefeld_000000_032845_leftImg8bit.png./cityscapes/leftImg8bit/train/krefeld/krefeld_000000_003707_leftImg8bit.png./c...
原创
254阅读
2评论
0点赞
发布博客于 2 年前

deeplabv3+ 跑 cityscape 数据集

首先需要安排一下文件夹:下载cityscape官方给的数据处理代码:https://github.com/mcordts/cityscapesScripts到datasets里面运行命令bash convert_cityscapes.sh,该代码会调用官方的上面那个代码。所以代码放的位置要和我一样。然后 由于总提示import 找不到cityscape 的相关代码,我运...
原创
668阅读
2评论
1点赞
发布博客于 2 年前

【代码】deeplabv3+ batch normalization

deeplab的模型代码是model.py其中控制BN(batch normalization )的是slim:不明白slim.arg_scope的看这里 with slim.arg_scope( [slim.conv2d, slim.separable_conv2d], weights_regularizer=slim.l2_regularizer(weigh...
原创
126阅读
0评论
0点赞
发布博客于 2 年前

【代码】deeplabv3+ vis.py 可视化代码解析

我真希望我刚开始看代码的时候有这一些列的博客。我记得我当时上网各种找,只找到一篇可怜巴巴的解析,如获至宝,开启了看代码的流程。毕竟我当时完全不会tf,一直用的keras。bash代码举例:python "${WORK_DIR}"/vis.py \ --logtostderr \ --vis_split="val" \ --model_variant="xception_...
原创
493阅读
3评论
1点赞
发布博客于 2 年前

deeplabv3+ 跑test数据

官方代码,虽然有is_training这个关键字,但是没有test的相关数据生成代码,也没有generator代码。如果有的话那就太好了,告诉我。如果你看过去哦之前的博客,你听的明白,不明白也没关系,下面告诉你怎么改。改点1,build_voc2012_data.py毕竟test没图片,我就偷个懒,造个图片,放进tfrecord即可。代码极其简单。不多说 if FL...
原创
258阅读
1评论
0点赞
发布博客于 2 年前

voc2012 测试数据集 上传

测试数据没有标注下载,只能预测好了上传官网,官方给结果。我只关注segmentation任务。任务5,你的训练数据只有trainval任务6,训练数据不限具体的图片格式:必须是PNG,数值0-20,colormap需要与提供的training,validation一致。应该是这样的:注意1.如果上传的是5,只用了trainval,那么可用的不仅仅是分割,...
原创
1296阅读
0评论
0点赞
发布博客于 2 年前

kdiff3使用

选定两个文件夹,与输出文件夹,之后对比完毕:点击F7就是表明开始合并,然后如果有需要手工合并的,他会提示你,、你需要双击那个文件,下面会有代码如果需要手工merge的话会提示你,打开该文件:代码中右键可以选择代码:然后一直f7,直到都合并完成...
原创
599阅读
0评论
1点赞
发布博客于 2 年前

ubuntu 复制跳过同名文件 cp 不覆盖

谷歌搜了半天才找到,就很奇怪,可能是关键字不对。于是就水了这么一篇使用cp --help打开帮助文档:看键值 -n的解释:不会重写已经存在的文件,如果想要交互式向win一样问你是否重写,那就用 -i所以代码就是cp -r -n /source_adr/target_adr...
原创
4604阅读
1评论
1点赞
发布博客于 2 年前

tesnsorflow unsorted segment mean 使用注意事项

简单介绍输出会根据对应id大小排序seg = tf.constant([1,1,0,0])data = tf.constant([.3,.4,11,11])sess.run(tf.unsorted_segment_mean(data,seg,4))>>array([11. , 0.35000002, 0. , 0. ...
原创
225阅读
0评论
0点赞
发布博客于 2 年前

【简单】超像素分割代码 saliency maps on image hierarchies OWT-UCM分割 使用

下载地址:https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html下第二个,预编译的我觉得会限制操作系统。用起来特别方便,就是几个函数而已,所以没必要写那么多没用的。这也是为了我自己回顾方便。所以。讲解比较少根据图片大小确定使用的函数,图片比较大的话就分成四个小...
原创
206阅读
3评论
0点赞
发布博客于 2 年前

matlab逐行读取 txt 读出字符串

下面的代码来源于:https://zhidao.baidu.com/question/520968496.htmlfid = fopen('aaa.txt');tline = fgetl(fid);while ischar(tline)disp(tline)tline = fgetl(fid);endfclose(fid);完全不知所云,没有注释。其实是这样的,tline...
原创
6512阅读
0评论
2点赞
发布博客于 2 年前

matlab 读取 存储 numpy 的 .npy文件

工具包下载地址:https://github.com/kwikteam/npy-matlab解压缩安装:直接将该文件夹npy-matlab加入路径即可:无论你是右键该文件夹,还是使用命令行。使用:输入下面代码测试是否可用: a = rand(5,4,3); writeNPY(a, 'a.npy'); b = readNPY('a.npy'); sum(...
原创
6137阅读
0评论
0点赞
发布博客于 2 年前

deeplabv3+ 改网络常遇到错误 基本是给我自己看的

实际上,官方代码写的超棒,各种功能的discret非常好,所以出错的位置大多不会牵扯太多。比如如果你改的是deconv部分,不会引起train以及eval的代码修改。非常棒,值得学习。1.scope,如果改了网络结构,但是沿用之前的scope,会出现诸如:None 错误value cant be None卷积核不匹配错误(1,304,3,3) 与 (1,256,3,3)...
原创
337阅读
0评论
0点赞
发布博客于 2 年前

tensorflow 图像两种变形方式

还有一种是padding,可以防止图片变形,但是结果并不会比较好,因为pad了过多无关因素,所以我们不用这个。1.适用于标签,利用最近邻的数值填充:tf.image.resize_nearest_neighbor( tf.expand_dims(label, 0), new_dim, align_corners=True)2.适用于图像...
原创
356阅读
0评论
0点赞
发布博客于 2 年前

deeplab v3+ multi scales 代码解析

multi scale能够大大增加识别率,简单直白的说就是将图片resize,然后预测。只能在eval时使用,所以不需要训练可用范围:[0.5, 0.75, 1.0, 1.25, 1.5, 1.75] ,定义在eval。py中# Change to [0.5, 0.75, 1.0, 1.25, 1.5, 1.75] for multi-scale test.flags.DEFIN...
原创
599阅读
2评论
1点赞
发布博客于 2 年前

tensorflow flags 最全 pycharm 运行时输入参数 list string int float

编辑parameters有几点需要注意:如果左边未出现你目前要输入参数的python文件,那么运行一下该文件,报错完了,他就出现了。 输入的string:--eval_logdir "/home/DATA/liutian/tmp/tfdeeplab/deeplab/datasets/pascal_voc_seg"参数与参数之间,参数与变量之间,统统用空格。 变量前面要写-...
原创
195阅读
0评论
0点赞
发布博客于 2 年前

deeplabv3+ 论文相关参数 代码解析 Flip MS SC random crop

目录1.Flip2. multi_scale input eval3.SC 在aspp与deconv采用seperate convmulti_scale 的参数传递是:另外,如果batch size改变的话,1.Flipinput_preprocess.py_PROB_OF_FLIP = 0.5该参数控制flip,如果为1,那么进入的图像一定会被flip...
原创
342阅读
0评论
0点赞
发布博客于 2 年前

tensorflow 常用简单的函数收集 cond expand_dims squeeze map_fn

1.条件函数,替代 if else在tensorflow里面不能使用if else对bool型tensor进行判断。所以需要使用tf.condhttps://blog.csdn.net/u013249853/article/details/101012523x = tf.constant(2)y = tf.constant(5)def f1(): return tf.multip...
原创
80阅读
0评论
0点赞
发布博客于 2 年前

tf.cond tensorflow的逻辑控制 if else

tf.cond使用方法z = tf.multiply(a, b)result = tf.cond(x < y, lambda: tf.add(x, z), lambda: tf.square(y))tf.cond(判断语句,执行一,执行二)如果有复合逻辑运算,代码:import tensorflow as tfimport numpy as npa_np =...
原创
1506阅读
0评论
0点赞
发布博客于 2 年前

deeplabv3+ eval.py 代码 分析

eval.py只有一个主函数。多尺度输入的预测与单一尺度输入的预测不一样。多尺度调用model.py 的model.predict_labels_multi_scale单尺度调用model.predict_labelspredict_labels->multi_scale_logit, 同样的predict_labels_multi_scale同样调用该函数...
原创
801阅读
0评论
0点赞
发布博客于 2 年前

deeplabv3+ 代码解析 去除decoder 部分

只需要训练时不提供参数“--decoder_output_stride=4 \”就可以直接去掉decode部分,那么取而代之的就是下面要讨论的。可以看出来,直接将16倍的特征图上采样到了原始图片大小。并且使用的是21通道的小特征图。从代码来看:def _get_logits(images, model_options, ...
原创
996阅读
0评论
0点赞
发布博客于 2 年前

deeplabv3+ decoder代码 详解

目录看代码model.py: refine_by_decoder看代码定义与注释:函数部分输入参数解读:BN (batch normalization)配置:操作获取DCNN tensor用来细化分割结果合并两个tensor论文中的decoder特点两个输入 分了两次上采样,存在1/16与1/4特征图。看代码model.py: refi...
原创
1521阅读
7评论
3点赞
发布博客于 2 年前

【代码】deeplabv3+ model train 模型 训练 代码 全网最详细解析

目前你已经看完了,会改数据输入部分的代码了。那么模型代码还需要看。目录train.py包含了方法:调用关系:model.py包含的方法:model.py被调用,()表示跨py文件调用数据的传递:首先在train.py中:于是我们看下主角 model.pymulti_scale_logit:_get_logit调用了三个方法refine_by_deco...
原创
1341阅读
0评论
1点赞
发布博客于 2 年前

【Tensorflow】slim.arg_scope()的使用

简单直观的教程:https://zhuanlan.zhihu.com/p/35203106这里单独做个总结笔记,详细的去看上面那个网址。一个好例子胜过千言万语arg_scope是为了偷懒与整洁。打个比方,arg_scope想给自己的小弟寄送一些贺卡了,但是由于他比较懒,祝福语写的都一样,他就想群发,第一个参数就是他小弟的名字,后面的参数就是贺卡内容。直白来讲,arg_scop...
原创
199阅读
3评论
1点赞
发布博客于 2 年前

deeplabv3+: 输入模块全解析 输入数据 更多维度 多标注

之前已经讲过了generator,这次是要建立一个更详细的框架,数据到底怎么被处理的。可以作为样例学习。写的并不详细,因为你如果要做更深的工作,你需要很高自主能力,大多数人都具备,所以我就不废话了(主要是忙)。源数据:图片/矩阵目标数据:tensorflow 标准的Dataset主要过程:源数据->build_voc_data.py->tfrecord tfrecor...
原创
552阅读
0评论
0点赞
发布博客于 2 年前

tensorflow:超简单易懂 tensor list的使用 张量数组的使用 扩增 建立 append

构造张量数组:最简单的方式:tensor_list=[tensor1,tensor2]常用的方式(这个方式可以用于for循环)tensor_list=[]tensor_list.append(tensor1)tensor_list.append(tensor2)张量数组的使用批量处理张量数组里面的张量,之后将其存储到一个新的张量数组中new_tensor_l...
原创
1904阅读
0评论
0点赞
发布博客于 2 年前

Tensorflow TFRecord: Can't parse serialized example

原因就是你的数据是串数据,但是你用FixedLenFeature读取,改函数有个参数是需要输入形状的。 'image/width': tf.FixedLenFeature(shape=(), tf.int64, default_value=0),比如这个,由于宽度是个常数,所以shape直接省略了,但是你的是[1,2,3,3]这种就不能省,要不你将shape填写上...
原创
535阅读
0评论
0点赞
发布博客于 2 年前

deeplabv3+使用voc2012 augmented 数据进行训练

在原始的论文中结果使用了augmented数据的,因为改数据不是平移旋转放缩的增加方式,而是将voc2012中未标注的图片进行了标注,不过由于并不是那种很精准的标注,举个例子:也没有白边,推测是利用边缘检测结合手工。关于该数据的获取:https://blog.csdn.net/u013249853/article/details/100136780使用方法简单到不可思议。。。注...
原创
637阅读
7评论
0点赞
发布博客于 2 年前

VOC 2012 augment 数据集 data augmentation 10582到底哪来的

根据deeplabv3+官方,train_aug 数据应该有10582.你只需要准备两个文件夹,一个list.txt,三个数据:官方提供的VOC2012的JEPGImages 文件夹(也就是全部的彩色照片) SBD数据库的数据扩增标注 该标注对应的list(复制粘贴)也就是说,SBD使用的是原始图片,没有平移旋转,所以你不需要下载他们提供的那个1G多压缩包,只需要下个40M标注...
原创
994阅读
0评论
1点赞
发布博客于 2 年前

将voc2012的扩充图片中的segment标注从mat,转成png data augmentation

这是matlab代码。也就是benchmark.解压后下图代码%save imageclear;rootdir = pwd;mat_dir = [rootdir, '/dataset/cls/'];img_dir = [rootdir, '/dataset/cls_img/'];if ~exist(img_dir,'dir') mkdir(img_dir);...
原创
179阅读
0评论
1点赞
发布博客于 2 年前

deeplabv3+ 从零开始训练

首先需要下载官方提供的imagenet以及coco的预训练权重:http://download.tensorflow.org/models/xception_65_coco_pretrained_2018_10_02.tar.gz然后将其解压到一个文件夹比如:.../deeplab/datasets/pascal_voc_seg/coco_pretraintrain_aug的...
原创
1872阅读
0评论
1点赞
发布博客于 2 年前

使用tensorboard查看deeplab v3+ 训练 可视化

所有的训练日志文件以及权重都保存在:..../deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/train所以输入命令:tensorboard --logdir=.../deeplab/datasets/pascal_voc_seg/exp/train_on_trainval_set/train即可进行可视化:然...
原创
721阅读
0评论
2点赞
发布博客于 2 年前

pycharm 打开deeplabv3+ VOC数据集训练所需参数

你需要的运行参数:https://github.com/tensorflow/models/blob/master/research/deeplab/local_test.sh也就是说复现的话你需要运行这个文件。在此之前你要安装好环境,并且将数据库整理好 #!/bin/bash# Copyright 2018 The TensorFlow Authors All Rights R...
原创
642阅读
0评论
1点赞
发布博客于 2 年前

deeplab v3+ 代码 复现 简单 官方 voc2012

为了使local_test.sh顺利运行。代码来源于官方,就是论文作者:https://github.com/tensorflow/models/tree/master/research/deeplab那肯定是需要先下载代码的。1.安装slim工具包。很简单只需要两步,下载,安装。必须安装不然import net 会报错https://blog.csdn.net/u0132...
原创
1694阅读
10评论
1点赞
发布博客于 2 年前

from nets.mobilenet import mobilenetv2 ModuleNotFoundError: No module named 'nets' conda安装slim

之前提供过一种解决方案。但是需要在代码中增加路径,并不是很通用。第二种解决方案:https://github.com/tensorflow/models/tree/master/research/slim下载这个包,解压后,找到setup.py所在目录:(如果你用conda,启用你的环境)python setup.py buildpython setup.py install...
原创
2051阅读
2评论
0点赞
发布博客于 2 年前

DEEPLAB V3+代码解读前置

因为代码使用低阶api写的,一点都不配合官方推广estimator以及keras的心情。官方的一些教程,包括最基本的指南下的内容主要包括导入数据 低阶api两个部分:https://www.tensorflow.org/deploy/distributed 以及MonitoredTrainingSessionhttps://www.tensorflow.org/api_docs/pytho...
原创
886阅读
0评论
0点赞
发布博客于 2 年前

matlab并行不启动 关闭默认并行池

matlab并行是给常简单地,但是有的时候使用parfor并不能开始并行。命令行如果提示:Starting parallel pool (parpool) using the 'local' profile ...Preserving jobs with IDs: 1 because they contain crash dump files.You can use 'delete(m...
原创
3420阅读
0评论
3点赞
发布博客于 2 年前

matlab lmnnCG error 出错 Index in position 1 exceeds array bounds (must not exceed 2).

这个错误本来不想写,但是我怕我以后忘了,还得重新想,于是。特别简单,只要运行下你的lmnnCG文件夹里面的setpaths3.m即可,就是因为调用函数的位置问题,调用了一个重名函数,而不是lmnn作者写的。感觉这个好像是个常见问题,那我就多说点。open lmnnCG 右键点击lmnnCG,然后选择第一个打开文件所在位置,可以更改工作目录,到你现在用的那个lmnn代码所在位置...
原创
4156阅读
0评论
2点赞
发布博客于 2 年前

更改matlab快捷键 matlab 复制粘贴键不对

ubuntu系统的快捷键与windows我们常用的不一样,复制粘贴要用alt+W类似的那么使用起来很不方便,于是:注意用管理员身份运行这个matlab否则会告诉你权限不够改不了HOME, ENVIRONMENT, prefenrence然后:keyboard,shortcut,将active settings改成Windows Default set在点击下面的Apply既可以...
原创
1017阅读
0评论
1点赞
发布博客于 2 年前

ubuntu 安装sublime 安装包 教程

你是命令行使用者你使用的是远程xmanager类似工具你用apt-get安装出现问题你下载出现问题如果出现以上问题。或许你应该尝试我提供的方法:到官网下载最新版的sublime:https://www.sublimetext.com/3解压缩,你会得到:或者你用命令行也可以看到,或者你用nautilus直接打开桌面也可以看到sublime_text就是执行文...
原创
1289阅读
1评论
0点赞
发布博客于 2 年前

deeplabv3+二:详细代码解读 data generator 数据生成器

3+支持三种数据库,voc2012,cityscapes,ade20k,代码文件夹-deeplab -datasets -data_generator.py在开始之前,始终记住,网络模型的输入是非常简单的image,规格化到[-1,1]或[0,1],或者数据扩增(水平翻转,随机裁剪,明暗变化,模糊),以及一个实施了相同数据扩增的label(毕竟需要pixe...
原创
788阅读
0评论
0点赞
发布博客于 2 年前

tensorflow deeplab3+ build_voc2012_data 代码阅读

官方的代码,因为目前市面上有三个版本tf官方,keras,pytorch,但是keras在训练finetune达到原始的识别率有问题,pytorch也有问题,没法复现,因为目前backbone是xception。其他两个我就不给连接了,github一搜就有。主要看官方的:https://github.com/tensorflow/models/tree/master/research/de...
原创
813阅读
8评论
0点赞
发布博客于 2 年前

PR曲线 可算是明白了 precision recall曲线

Inst#是样本序号,图中有20个样本。Class是ground truth 标签,p是positive样本(正例),n当然就是negative(负例) score是我的分类器对于该样本属于正例的可能性的打分。因为一般模型输出的不是0,1的标注,而是小数,相当于置信度。然后设置一个从高到低的阈值y,大于等于阈值y的被我正式标注为正例,小于阈值y的被我正式标注为负例。显然,我设置n个阈值...
原创
21390阅读
14评论
19点赞
发布博客于 2 年前

miou 代码 VOC2012

#!/usr/bin/python# -*- coding: utf-8 -*-import numpy as npimport argparseimport jsonfrom PIL import Imagefrom os.path import joinimport cv2from mmm.fullcrop import unpaddingfrom matplotlib ...
原创
975阅读
1评论
0点赞
发布博客于 2 年前

python 图片 常数 代码 padding image constant pad with constant code

简单来讲,计算机视觉需要将图片大小统一,这样才能输入到网络。这个代码就是将2D或者3D的图片padding 到指定大小,边缘填充使用指定常数,如果是3D,(512,512,3)最后一维不进行拓展我加了注释,如果拓展的不能整除,那么左,上,也就是序号小的比序号大的差一维rar = crop_to((5,5),np.array([[1,3,4,5],[2,3,3,3]]))prin...
原创
330阅读
0评论
0点赞
发布博客于 2 年前

VOC2012 数据集 保存成彩色 调色盘 P模式 PIL Image

VOC的标注22个,从0-21,其中21 是未标注类,不过实际上读取出来是255,所以你的标签[0,...20,255]out数据的要求是int,数值在[0,...20,255]代码:import numpy as npfrom PIL import Image# # load image, switch to BGR, subtract mean, and make dim...
原创
1027阅读
2评论
0点赞
发布博客于 2 年前

关于N卡深度学习的你应该知道的入门级命令

1. nvidia-smi这个应该都知道,可以静态查看显存占用,显卡利用率。如果有显卡没有被占用,那么状态就要等几秒才显示。如果全部占用了:比如下面的显卡所有的显存都大于0,所以是瞬间显示的2.watch -n 1 nvidia-smi动态每一秒显示显卡状态,1表示1秒,如果有显卡没被占用,那这里用1s显然是不明智的。3.nvtop如果你有显卡空着,你又想...
原创
931阅读
0评论
0点赞
发布博客于 2 年前

keras tensorflow session

获取keras已经建立的session:from keras import backend as Ksess = K.get_session()给keras设置传递一个建立好的session:K.set_session(sess)参考:https://stackoverflow.com/questions/53653303/where-is-the-tensorflow-...
原创
7212阅读
6评论
0点赞
发布博客于 2 年前

ValueError: Index out of range using input dim 2; input has only 2 dims for 'crf_1/strided_slice' (o

ValueError: Index out of range using input dim 2; input has only 2 dims for 'crf_1/strided_slice' (op: 'StridedSlice') with input shapes: [?,110], [3], [3], [3] and with computed input tensors: input[...
原创
2364阅读
0评论
0点赞
发布博客于 2 年前

官方代码检测tensorflow gpu版本能不能使用GPU

import tensorflow as tftf.test.is_gpu_available()如下:告诉你gpu情况是可用的。如果T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this Tens...
原创
6384阅读
5评论
0点赞
发布博客于 2 年前

CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘. If your s

你输入 conda 命令,他会提示你这个,由于在~/.bashrc里面激活conda命令的方式不对。正确的做法是将上面的:. /home/DATA/liutian/anaconda3/etc/profile.d/conda.sh复制到你的~/.bashrc ,并且将你的export PATH='....'注释掉,看下面图片的最后三行你可能会觉得,这个教程一点用都没有,我还...
原创
18823阅读
4评论
8点赞
发布博客于 2 年前

ubuntu安装tensorflow2.0 beta1 gpu版本(4步)conda anaconda

你需要安装anaconda3.这里就省略了实际上安装就是下载加一句代码。很简单。下面主要说怎么安装tf21.创建conda虚拟环境名叫tf2conda create -n tf2python=3.62激活环境conda activate tf23.安装下面由于清华源安装不成功,所以我临时使用的是豆瓣源,成功的pip install tensorflow-gpu=...
原创
2090阅读
0评论
0点赞
发布博客于 2 年前

ubuntu pip源

pip源有两种设置:1 永久需要更改conf文件,推荐:https://blog.csdn.net/yucicheung/article/details/79095742但是呢,有时候某个安装包清华源就是不好使,你又删不掉?!所以推荐使用暂时的源。需要在下面的命令中指定你要安装的东西:比如安装pythonpip install python -i http://pypi.doub...
原创
1834阅读
0评论
0点赞
发布博客于 2 年前

tensorflow python 临时增加 lib 搜索路径 当你找不到包 配不好环境时 的权宜之计

ImportError: No module named nets比方说我要用slim包里面的一个文件,没办法安装,并且export并不能生效。以下语句会报错:from nets.mobilenet import mobilenet_v2但是如果我加上slim的路径:如图所示slim里面有个nets文件夹,import 语句就不会报错。不论什么环境,虚拟的还是真实的。但是...
原创
233阅读
0评论
0点赞
发布博客于 2 年前

deeplab v3 keras VOC2012

2012的测试集是不公开的。实验代码来源https://github.com/Golbstein/Keras-segmentation-deeplab-v3.1这个代码需要改的。一个新的代码从来都不是下来就能用的,至少你的数据存储地址就不一样。这个代码主要是要修改utils.py里面的数据生成器:self.image_path_list = sorted(glob.glob(os...
原创
822阅读
0评论
0点赞
发布博客于 2 年前

ubuntu升级nvidia显卡版本

这是命令行操作sudo service lightdm stopsudo /usr/bin/nvidia-uninstall下载你需要的驱动版本,根据https://blog.csdn.net/u013249853/article/details/90726165,因为之前就有N卡驱动所以不需要繁琐的加入黑名单操作等,直接安装即可:bash ./Nvidia-480.run...
原创
2440阅读
0评论
0点赞
发布博客于 2 年前

anaconda 安装 imgaug opencv-python 不被识别

使用普通的安装方法安装imgaug会出现不能识别anaconda的安装包问题。使用:https://anaconda.org/conda-forge/imgaug的:conda install -c conda-forge imgaug 命令即可...
原创
503阅读
0评论
0点赞
发布博客于 2 年前

sessions should be nested with care, unset $TMUX to force

错误原因:你已经打开了一个tmux 会话,然后你在这个tmux会话中试图打开另一个tmux会话。这种嵌套的,一层套一层的,在虚拟会话中声明活着打开另一个虚拟回话,是不好的。解决方式,直接在命令行打开或者新建。...
原创
6955阅读
0评论
5点赞
发布博客于 2 年前

ImportError: cannot import name '_validate_lengths'

使用命令:conda install -c conda-forge scikit-image安装了如下的包:The following packages will be downloaded: package | build ---------------------------|--------------...
原创
809阅读
0评论
0点赞
发布博客于 2 年前

nvidia-smi GPU的程序kill后未释放显存

tensorflow数据并行,中途中断了,毕竟头一次自己的程序并行跑,很有可能就出错。结果某次出错,GPU并未释放内存;1 fuser -v /dev/nvidia*然后需要逐个杀死,注意使用管理员身份杀死之后,世界清净了:...
原创
1657阅读
0评论
1点赞
发布博客于 2 年前

显卡驱动版本 CUDA 版本 官方详解 cudnn gcc工具包 版本 约束 依赖 关系 tensorflow gpu 版本

驱动是向下兼容的:所以如果想使用最新的tf代码库,那么需要最新的驱动,并且旧的虚拟环境还是能用的。显卡驱动,要在考虑自己的系统下,选择最新的版本。Table 1. CUDA Toolkit and Compatible Driver Versions CUDA Toolkit Linux x86_64 Driver Version Windows x86_64 Driver Ve...
原创
1482阅读
0评论
1点赞
发布博客于 2 年前

超简单keras 多GPU数据并行

超级简单:import:from keras.utils import multi_gpu_model这里以unet为例,首先使用标准的unet建立一个unet模型: model = unet(input_size=(480, 640, 3))然后注意自己是否有四个可见的GPU:os.environ['CUDA_VISIBLE_DEVICES'] = "4,5,6...
原创
3571阅读
6评论
2点赞
发布博客于 2 年前

Voc2012数据集 分割 怎么使用 加载标注

voc2007 与 voc2017是互斥的图片。这次说2012解压统统使用tar -xf 使用命令行,会自动给你融合图片。标注是图片,存储在/..../VOCdevkit/VOC2012/SegmentationClass标注一共是20类,加上背景21类,白边呢,算是未标注类,不计算到损失函数里,注意下。读取代码:import numpy as npfrom PIL i...
原创
2004阅读
1评论
0点赞
发布博客于 2 年前

keras data generator 调试

在写了代码:https://blog.csdn.net/u013249853/article/details/90408122之后,我们希望能够看到,每次到底生成了什么因为如果你有数据扩增的代码,你就会想知道我生成的对不对,能不能调试,那么简单直观的调试代码如下[a,b] = training_generator.__getitem__(1)validation_generat...
原创
536阅读
0评论
0点赞
发布博客于 2 年前

在jupyterlab中使用anaconda配置的虚拟环境 配置jupyter kernel

conda activate tensor13conda install ipykernel(tensor13) liutian@master:~$ ipython kernel install --user --name tensor13Installed kernelspec tensor13 in /home/liutian/.local/share/jupyter/ker...
原创
2675阅读
0评论
2点赞
发布博客于 2 年前

keras data fit generator 数据生成器 多输入数据生成器 图片 分割 逐像素label 直观调试 生成图片

此处以keras为例。多数的深度学习方法都是支持批量yeild数据,而不是直接加载所有数据到内存。给一个对比:25512是未使用数据生成器的30777是使用数据生成器的。但是必须要说明的,GPU的内存是不会减少的,都是有多少用多少。给的多就多用,给的少就少用。那么首先给出原始教程:https://stanford.edu/~shervine/bl...
原创
1450阅读
1评论
3点赞
发布博客于 2 年前

深度学习工作环境对比

windows/ubuntu(linux)端 pycharm 调试 代码。ubuntu 端用 nohup 跑代码并且使用一个epoch 打印一次validation与training结果的打印模式,要不然会很多结果。或者使用 tmux多窗口后台跑。但是这样有几个缺点:1.没办法看总体历史情况2.那个窗口运行的是哪个程序,这个容积记不住3.github有没有自动生成的lo...
原创
280阅读
0评论
1点赞
发布博客于 2 年前

深度学习 损失变成 nan keras tensorflow 损失函数无限大

一种可能的原因是你用了relu 之后马上又用了softmax这两个激活函数用在连续的两层上可能会造成这种情况。参考:https://github.com/keras-team/keras/issues/1244...
原创
1496阅读
0评论
0点赞
发布博客于 2 年前

conda 中科大与清华园都相继停止服务了 不能下载了 恢复默认源 才能下载

如果在用conda安装包时出现:Loading channels: failedCondaHTTPError: HTTP 404 NOT FOUND for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch/repodata.json>Elapsed: 00:00.084698The ...
原创
3820阅读
3评论
1点赞
发布博客于 2 年前

tf.map_fn 处理多输入 tensorflow batch 内张量操作,降低api困难程度 数据降维 不考虑batch 大小

tf.map_fn数据结构,我的数据如下大小:batch_size=2内含两个张量input1.size=[?, 640,480,128]input2.size=[?,640,480]张量函数 希望没有batch_size,即输入不含?这个维度:[640,480,128], [640,480], 我希望tensorflow能够自动的对batch内的张量函数操作.函数f...
原创
863阅读
0评论
0点赞
发布博客于 2 年前