thu-pacman / pet Goto Github PK
View Code? Open in Web Editor NEWPET: Optimizing Tensor Programs with Partially Equivalent Transformations and Automated Corrections
License: Apache License 2.0
PET: Optimizing Tensor Programs with Partially Equivalent Transformations and Automated Corrections
License: Apache License 2.0
在 NVIDIA GPU 环境下克隆此工程并编译运行。
首先使用 PET_DCU/benchmark/models/scripts/bert_onnx.py
导出了bert的onnx文件,然后编译了DCU之后在build下执行:
./onnx_origin ../benchmark/models/scripts/mybert-new.onnx
此时会尝试导入ONNX到PET的Graph中,这个时候发生了报错:
onnx_origin: /home/PET_DCU/include/operator.h:1795: tpm::ReshapeOp::ReshapeOp(tpm::Tensor *, tpm::Tensor *): Assertion `input->size() == output->size()' failed.
Aborted (core dumped)
可以看到挂在Reshape Op的形状检查,我打印了一下input->size()
和 output->size()
,分别为:
589824 37748736
所以输出Tensor的size是输入的64倍,这个64是导出ONNX时的batch_size,希望可以解答这个错误的原因是什么
Hello,
I am trying to understand the generator as in the PET paper.
To my understanding, the threshold
parameter in the Generator::run() function defines the number of random test point that a legal mutant has to satisfy, as computed by the Generator::approx_equal() function.
The default threshold=0.7
results in, for example, sometimes a Matmul
has 20 mutants, and sometimes has 28 mutants. Is this randomness intended?
If a legal mutant passes this test, how does the correction kernel generated? Is the correction kernel generated by the Generator?
Many Thanks,
Hello, I'm trying to PET, but when I configure according to the usage document, the "onnx" folder under "build" is not automatically generated. What should I do? And how do I use PET in Python?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.