摘要: 本文链接 https://www.cnblogs.com/wanger-sjtu/p/16817532.html 最近在解决tvm绑核问题时,发现android下绑核只有sched_setaffinity函数,这导致无法使用标准库中的td::thread::native_handle_type th 阅读全文
posted @ 2022-10-22 22:45 青铜时代的猪 阅读(388) 评论(2) 推荐(0)
摘要: 本文地址:https://www.cnblogs.com/wanger-sjtu/p/15082871.html Relay Operator Strategy是建立Relay IR与TOPI算子库的桥梁,通过Relay Operator Strategy,每个Relay IR至少与一个comput 阅读全文
posted @ 2021-07-30 22:50 青铜时代的猪 阅读(941) 评论(2) 推荐(1)
摘要: 为实现多种语言支持,需要满足以下几点: 部署:编译结果可以从python/javascript/c++调用。 Debug: 在python中定义一个函数,在编译函数中调用。 链接:编写驱动程序以调用设备特定代码(如CUDA),可以在编译的host侧调用 ‎原型:python侧定义IR PASS,并从 阅读全文
posted @ 2021-07-27 01:05 青铜时代的猪 阅读(1067) 评论(0) 推荐(0)
摘要: 从TVM的官方Tutorial里面,介绍了如何新增自定义算子。(这是我翻译的) 之前的文章讲到了onnx 算子转换到Relay IR的过程 下面以Conv2d算子介绍,编译过程中 Relay IR是如何被调用的。 relay 算子调用 上面的get_relay_op实际上是查找所有 relay ir 阅读全文
posted @ 2021-07-23 01:00 青铜时代的猪 阅读(590) 评论(0) 推荐(0)
摘要: 这部分介绍了如何在tvm中添加新的relay算子的基本步骤 阅读全文
posted @ 2021-07-22 22:02 青铜时代的猪 阅读(2789) 评论(0) 推荐(0)
摘要: 上一篇介绍了onnx模型在tvm中优化的总体流程。 在这一篇中,介绍onnx模型到relay模型的转换流程,主要涉及了以下几个方面: onnx算子到relay算子转换 relay算子实现 这一篇介绍onnx算子到relay算子转换过程 onnx算子到relay算子转换 # onnx -> relay 阅读全文
posted @ 2021-07-15 23:19 青铜时代的猪 阅读(449) 评论(0) 推荐(0)
摘要: 本文以及后续文章,着重于介绍tvm的完整编译流程。 后续文章将会按照以上流程,介绍tvm源码。其中涉及一些编程技巧、以及tvm概念,不在此部分进行进一步讲解,另有文章进行介绍。 首先介绍一下,从onnx模型转为tvm模型的基本步骤。大致可以分为以下几步: onnx模型转到relay IR 基于Rel 阅读全文
posted @ 2021-07-15 23:16 青铜时代的猪 阅读(659) 评论(0) 推荐(0)
摘要: 这个是周博磊16年的文章。文章通过实验证明,即使没有位置标注,CNN仍是可以得到一些位置信息,(文章中的显著性图) CNN提取的feature含有位置信息,尽管我们在训练的时候并没有标记位置信息; 这些位置信息,可以转移到其他的认知任务当中 文章的实验主要就是证明了,在CNN分类中,不同区域对于最终 阅读全文
posted @ 2021-07-14 23:15 青铜时代的猪 阅读(371) 评论(0) 推荐(0)
摘要: 题目 给定字符串s,求其最长回文子序列(可以非连续)的长度 DP 当已知一个序列是回文时,添加首尾元素后的序列存在两种情况,一种是首尾元素相等,则最长回文的长度加2,当首尾元素不相等,则最长回文序列为仅添加首元素时的最长回文与仅添加尾元素时的最长回文之间的最大值。我们可以用$dp[i][j]$表示$ 阅读全文
posted @ 2021-07-14 23:14 青铜时代的猪 阅读(59) 评论(0) 推荐(0)
摘要: 关于python 闭包、装饰器的介绍,可以先看廖雪峰的介绍 这里主要介绍上文中没有提到的部分。 利用装饰器,来完成类和函数的自动注册。 看下面的代码: class Test: def __init__(self): print("test created") def __call__(self): 阅读全文
posted @ 2021-07-14 23:13 青铜时代的猪 阅读(401) 评论(0) 推荐(0)