之后安装typescript npm install -g typescript 安装 tsd npm install tsd -g 参考tsd的github tsd的全部指令 通过 tsd -help可以看到, tsd 有如下指令, 加黑的是个人认为重要的: install query reinstall update rebundle link 它们是 tsd.json 和 typings/ tsd.d.ts tsd.json { "version": "v4", "repo": "borisyankov/DefinitelyTyped 它还是配合 tsd link 来使用的。 模块调用 TSD是通过npm安装的,所以还可以在node.js的环境里, 用var tsd = require('tsd'); 来直接调用这个模块,至于之后怎么用,大概要查文档了吧。
Classical Loss是原始损失函数,TSD Loss是本文提出的损失函数。 ▎实验结果 1、与不同网络解耦方式比较,TSD效果最好 ? 首先将TSD与在不同的网络层进行任务间解耦的结构进行比较,如上图所示。 ? 表1:各类解耦方式与TSD解耦方式比较 综合参数量和性能提升,TSD相比于其他解耦方式,具备明显的优势。 2、TSD与Sibling head联合训练效果更好 在TSD整体的训练中,传统的Sibling head仍然可以进行联合训练来优化Backbone,同时渐进约束损失(PC)可以进一步提升TSD的性能。 表4:在不同网络结构上,传统方法与TSD方法准确度对比 表5可以看出,在谷歌提出的Open Images大规模数据集上,TSD方法均有性能上的显著提升。 ? 表6:在COCO分割任务上,传统方法与TSD方法对比 在表6的COCO分割任务上,TSD方法也能带来明显性能提升,而且提升幅度较大。 4、与当前行业领先算法比较 ?
此前以中六位(约55万元)交易的三声域名TSD.com建站了。 今年2月,国外的James Booth在他的Facebook上称,在获得TSD.com不到24小时的时间里将该域名卖给了客户,价格超8万美元(约合55万元)。 目前,域名TSD.com已被启用搭建了一个名为“TSD services”的信息技术服务类平台,隶属于一家中型保加利亚信息技术服务公司TSD Services, Ltd,由德国人 Gachevski先生于 域名TSD.com是一枚注册有25年的老米,含有“通士达、同时代、土笋冻、特速达、糖水店” 等寓意,适合建站的范围涉及电子技术、美食、快递物流、零售电商等,可对应终端通士达(topstar.com.cn )、天时达(tsd.com.hk)、特思达企业等。
proposal,同时结合PC来保证TSD的性能,在COCO上达到了51.2mAPundefined 来源:晓飞的算法工程笔记 公众号 论文: Revisiting the Sibling Head 因此,论文提出TSD方法,从空间维度和特征提取两方面同时对分类任务和定位任务进行拆解,并且结合精心设计的渐进约束(PC)帮助学习。 ,单模型最高可达51.2mAP Methods *** [1240] 如图2所示,在训练时,TSD和原来的结构共存,定义主干输出的预测框为$P$,TSD输出最终的定位结果$\hat{D}_r$和最终的分类结果 由于分解了分类和定位的预测区域,TSD能够学习task-aware的特征表达。 TSD的学习,如图2(c)。
目标检测:TSD CNN:SCNet CNN:SAN 后面会继续推出CV大盘点系列和CVPR 2020 细分方向开源项目系列。 TSD:Revisiting the Sibling Head in Object Detector ? 2020.03.17 论文开源项目:2020.04.29 论文链接:https://arxiv.org/abs/2003.07540 代码链接:https://github.com/Sense-X/TSD TSD帮助通用的检测器大幅度提升性能3%-5%,在COCO上,基于ResNet-101可以达到49.4的map,在SENet154上可以达到51.2。 ? ? 论文解读:51.2 mAP! 商汤提出目标检测新网络 TSD | CVPR 2020 SCNet:通过自校准卷积改进卷积网络 ?
与OpenTSDB交互主要通过运行一个或者多个 TSD 来实现。每个 TSD 是独立的。没有master,没有共享状态, 可以运行尽可能多的 TSD 来处理工作负载。 每个 TSD 使用开源数据库 HBase 或托管Google Bigtable服务来存储和检索时间序列数据。数据模式针对类似时间序列的快速聚合进行了高度优化,以最大限度的减少存储空间。 TSD 的用户不需要直接访问底层仓库。 直接通过telnet协议,HTTP API 或者简单的内置 GUI 与 TSD 进行通信,所有的通信都发生在同一个端口上(TSD 通过查看接收到的前几个字节来计算出客户端的协议) OpenTSDB存储的核心概念 启动之后,可以通过http://xx.xx.xx.xx:4242 访问 TSD 的web界面
[1h7301fq2z.png] 我们搜索一下这个类,发现src-main/tsd/client 和 src-main/net/opentsdb/tsd/client这里重复了 [d4uqx2rz2z.png ] 因为src-main/tsd/client这个是src的软链接,我们可以把src-main/tsd/client这个目录excluded掉 [91nluek383.png] 再次运行发现,TSDMain = 4242 tsd.http.staticroot = /Users/garyhwang/Documents/localTestDir/opentsdb/static/ tsd.http.cachedir = true tsd.query.skip_unresolved_tagvs = true tsd.query.timeout = 10000 tsd.storage.enable_compaction = false tsd.core.tag.allow_specialchars =!
POSIX线程库通过维护一定的数据结构来解决这个问题,这个些数据称为(Thread-specific Data,或 TSD)。 { pthread_t tid; char *str; } tsd_t; pthread_key_t key_tsd; pthread_once_t once_control = PTHREAD_ONCE_INIT value = (tsd_t *)malloc(sizeof(tsd_t)); value->tid = pthread_self(); value->str = (char *)arg 绑定线程2的TSD 和key_t,此时线程1调用pthread_getspecific 返回key_t 绑定的TSD指针,仍然是线程1的TSD指针,即虽然key_t 只有一个,但每个线程都有自己的TSD /pthread_tsd key init ...
因此,我们提出了task-aware spatial disentanglement(TSD),目的就是在空间上将分类和回归的梯度流解耦。 TSD在原来的proposal的基础上,生成了两个解耦的proposal,分别用于分类和回归任务。 我们的目的是在空间维度对不同的任务进行解耦,在TSD中,上面的式子可以写成: ? 其中,Pc和Pr是从同一个P中预测得到的。 具体来说,TSD以P为输入,分别生成Pc和Pr用来做分类和回归,用于分类的特征图Fc和用于回归的特征图Fr通过两个并列的分支生成。 TSD到底学到了什么?我们可以看看对比与双head,我们的可视化结果: ? ? —END—
选择 TSD 的主要原因有 2 个:1)TSD 是 Open Images Challenge 2019 的第一名,并且 release 了相关模型的权重;2)TSD 使用 MMDetection 框架进行的开发 对齐 TSD 的结果 我们首先使用了 TSD 发布的 Open Images Challenge 2019 训练好的模型进行了精度验证,使用 TSD 的 evaluate 和 MMDetection 支持的 在对其过程中,发现了一处 TSD 实现不正确的地方:在获得 GT 包含的类别时 TSD 还加入了 [0],即把第 0 类加进了 gt_label 中。 在改进了上述问题后,TSD 的实验结果和 MMDetection 计算的结果如下表所示: 需要注意一点的是:TSD 在计算 mAP 过程中考虑了父类,但是没有考虑 Image level label。 TSD 网址: https://github.com/Sense-X/TSD/blob/master/mmdet/datasets/samplers/distributed_classaware_sampler.py
智能提示 因为之前微软推出了typescript语言,结合tsd文件,用visual studio写typescript代码是相当爽的,智能提示的功能非常nb。 这个功能理所应当也被vsc继承了。 目前主流的前端类库/框架,包括node.js及其模块/框架都有相应的tsd文件,可以去DefinitelyTyped上找一下。 在项目中引入对应文件,就可以有智能提示了。 这里以angular为例,使用步骤如下: 全局安装tsd,通过tsd安装.d.ts文件。这样会在项目下面生成.typings目录,目录下面就是下载的.d.ts文件,再写代码的时候就会有智能提示了。 具体用法参考tsd用法。 npm install -g tsd tsd query angular --action install 如果不想自己手工引入,也可以在angular变量后面按ctrl+k,会有个灯泡图片,点击灯泡图片就会有对应提示
这是它的应用场景,中间绿色的就是OpenTSDB(简称TSD),上面每个Server的c就是采集器(collector),采集器把数据发送到TSD,TSD再异步写入到HBase集群,web UI则可以通过 TSD的HTTP API接口来查询数据和进行展示。 上面是它的工作原理:编写的采集器脚本,从Linux的/proc目录下获取系统相关信息,或者收集其他自定义的指标,输出到标准输出,然后有一个核心的采集器管理器统一处理输出数据,最后发送到TSD。 其中还有一些优化工作,ReaderThread负责做一些数据去重,减少一段时间内相同数据的发送次数;SenderThread负责网络连接的管理,比如与TSD的心跳检测、黑白名单等。 整个流程比起采集器直接发送到TSD会更长,但得益于Redis和Celery的高效,依然保持极佳的性能,且可以通过结合Celery-Flower这种管理界面,对采集行为进行控制。 ?
build/html/installation.html#id1 rpm –ivh opentsdb-2.3.0.rpm cd /etc/opentsdb vim opentsdb.conf 内容如下: tsd.network.port = 4242 tsd.network.bind = 0.0.0.0 tsd.network.worker_threads = 8 tsd.http.staticroot = /usr/share/opentsdb /static/ tsd.http.cachedir = /tmp/opentsdb tsd.core.auto_create_metrics = true tsd.core.plugin_path = /usr/share/opentsdb/plugins tsd.storage.hbase.zk_quorum = localhost:2181 启动之前,需要到hbase上面去创建表: cd /
00065940 BEQ loc_65A1C .text:00065942 LDR.W R0, =(je_tsd_tsd_ptr - 0x6594A) .text:00065946 ADD R0, PC ; je_tsd_tsd_ptr .text:00065948 LDR R0, [R0] ; je_tsd_tsd .text:0006594A LDR R0, [R0] .text:0006594C
OpenTSDB主要由以下几部分组成: (1)、Collector:负责从服务器上收集并通过telnet或http协议发送数据给TSD实例; (2)、TSD实例:TSD是无状态的服务,负责接收Collector 发送过来的数据,并对外提供数据查询服务,可以部署多个读写实例; (3)、HBase集群:TSD接收到监控数据后,通过AsyncHbase将数据写入到HBase,AsyncHbase是完全异步、非阻塞、线程安全的 由于TSD实例是无状态的,我们部署了多个读写实例,对外通过域名进行数据读写分离,保证服务的高可用。 采集的监控数据最终通过TSD实例存储到HBase集群,并基于HBase的RSGroup机制进行物理隔离。 在我们的实际使用中,TSD单实例写QPS最高到达了10万+,存储到HBase的监控数据量半年预估达到10T+,而支撑这一能力的后端HBase集群只用了5个节点,从而可以看出OpenTSDB强大的写性能。
"host": "web01", "dc": "lga" } } ] 错误信息:"error": "Unknown metric" 需要将 tsd.core.auto_create_metrics 编辑conf文件,这是我安装的地址 vi /opt/opentsdb-2.3.1/build/opentsdb.conf 找到tsd.core.auto_create_metrics设置为true 查看进程杀掉 tsdb进程 ps -ef|grep opentsdb 在本目录重启,重启命令 nohup sh tsdb tsd & 再次测试写入,success成功 查看页面输入标识 自动检索出来
为了解决这个问题,DefinitelyTyped 被创建出来,它提供了多数流行的脚本库的 TypeScript 定义,你可以使用名为 tsd 的一个工具来管理它。 安装tsd工具 npm install tsd -g # 或 yarn global add tsd 通过工具安装定义库 # 安装jquery定义库 tsd install jquery --save 配置 如果提供了 –save 参数,它会创建一个名为 tsd.json 的配置文件来保存所管理的类型定义包。 DefinitelyTyped/DefinitelyTyped", "ref": "master", "path": "typings", "bundle": "typings/tsd.d.ts node.d.ts": { "commit": "6834f97fb33561a3ad40695084da2b660efaee29" } } } 以后,直接使用 tsd
Servers:就是服务器了,上面的C就是指Collector,可以理解为OpenTSDB的agent,通过Collector收集数据,推送数据; TSD:TSD是对外通信的无状态的服务器,Collector 可以通过TSD简单的RPC协议推送监控数据;另外TSD还提供了一个web UI页面供数据查询;另外也可以通过脚本查询监控数据,对监控数据做报警 HBase:TSD收到监控数据后,是通过AsyncHbase
-1 : 1]; /* Thread specific data */ static tsd_key_t arena_key; static mutex_t , size_t size) #else arena_get2(a_tsd, size) mstate a_tsd; size_t size; #endif { a_tsd) a = a_tsd = &main_arena; else { a = a_tsd->next; if(! = a_tsd); /* If not even the list_lock can be obtained, try again. (arena_key, vptr); tsd_setspecific(arena_key, NULL); if (a !
return [] # spilt time_series split_time_series = tsd_common.split_time_series(time_series, window ) # nomalize time_series normalized_split_time_series = tsd_common.normalize_time_series(split_time_series import *from time_series_detector.common.tsd_common import *MODEL_PATH = os.path.join(os.path.dirname ) except Exception as ex: return TSD_READ_FEATURE_FAILED, str(ex) params = { , str(ex) return TSD_OP_SUCCESS, "" def predict(self, X, window=DEFAULT_WINDOW, model_name=