-
Notifications
You must be signed in to change notification settings - Fork 761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
floor mode for div tensors finished #8987
Conversation
"Tensor (Tensor input, Tensor other, *, String rounding_mode=None) => DivMode", | ||
"Tensor (Tensor input, Scalar other, *, String rounding_mode=None) => ScalarDivMode", | ||
"Tensor (Scalar input, Tensor other, *, String rounding_mode=None) => ScalarDivMode", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
因为 oneflow 内部比较多的地方使用了 functional::Div
, functional::ScalarDiv
等,所以不改以前的接口,直接增加接口。
…low into fix_div_print_inalgined
dim1 = random(low=1, high=4).to(int) | ||
x = random_tensor(ndim=2, dim0=dim0, dim1=dim1).to(device) | ||
y = random_tensor(ndim=2, dim0=dim0, dim1=dim1).to(device) | ||
z = torch.div(x, y, rounding_mode="floor") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
torch.div(torch.tensor(-1), torch.tensor(2), rounding_mode="floor")
tensor(-1)
oneflow.floor_divide(oneflow.tensor(-1), oneflow.tensor(2))
tensor(0, dtype=oneflow.int64)
oneflow.floor_divide的错误,发生在整形且两个输入的符号不同时
这个测试用例里只测了float,可以加一个整形的测试
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
test_div.py完善了以后,test_trunc_divide.py就可以废弃了
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个问题是存在的,会在另外外的 PR 解决。
device = random_device() | ||
x1 = random(low=1, high=5).to(float) | ||
x2 = random_tensor(2, 2, 3).to(device) | ||
y = torch.div(x1, x2, rounding_mode="floor") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
标量除法也可以加一个整形的测试
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
torch.div(torch.tensor(1).cpu(), torch.randn(2).cuda(), rounding_mode="floor")
torch支持这种行为,这个pr是否支持这种行为,如果支持的话可以加上这个测试
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个修改会在另外的 PR 解决。
Speed stats:
|
Static analysis with clang failed. PR label automerge has been removed |
Speed stats:
|
View latest API docs preview at: https://staging.oneflow.info/docs/Oneflow-Inc/oneflow/pr/8987/ |
CI failed when running job: cuda-misc. PR label automerge has been removed |
Speed stats:
|
View latest API docs preview at: https://staging.oneflow.info/docs/Oneflow-Inc/oneflow/pr/8987/ |
CI failed when running job: cpu-misc. PR label automerge has been removed |
Speed stats:
|
Speed stats:
|
View latest API docs preview at: https://staging.oneflow.info/docs/Oneflow-Inc/oneflow/pr/8987/ |
给
flow.div
接口添加 rounding_mode keyword 参数问题来源:Oneflow-Inc/vision#242