Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Oneflow-Inc
oneflow
提交
fe31e54e
O
oneflow
项目概览
Oneflow-Inc
/
oneflow
上一次同步 2 年多
通知
13
Star
2733
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oneflow
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
fe31e54e
编写于
11月 02, 2021
作者:
O
oneflow-ci-bot
提交者:
GitHub
11月 02, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' into save_load_by_pickle
上级
89b64446
55d32c33
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
17 addition
and
6 deletion
+17
-6
oneflow/core/autograd/gradient_funcs/reshape.cpp
oneflow/core/autograd/gradient_funcs/reshape.cpp
+10
-5
oneflow/core/job_rewriter/fuse_update_ops_pass.cpp
oneflow/core/job_rewriter/fuse_update_ops_pass.cpp
+6
-0
python/oneflow/__init__.py
python/oneflow/__init__.py
+1
-1
未找到文件。
oneflow/core/autograd/gradient_funcs/reshape.cpp
浏览文件 @
fe31e54e
...
...
@@ -24,7 +24,11 @@ limitations under the License.
namespace
oneflow
{
namespace
one
{
class
ReshapeOpExprGrad
:
public
OpExprGradFunction
<
AutoGradCaptureState
>
{
struct
ReshapeCaptureState
:
public
AutoGradCaptureState
{
DimVector
input_shape_vec
;
};
class
ReshapeOpExprGrad
:
public
OpExprGradFunction
<
ReshapeCaptureState
>
{
public:
Maybe
<
void
>
Init
(
const
OpExpr
&
op
)
override
{
const
auto
*
fw_op_expr
=
dynamic_cast
<
const
UserOpExpr
*>
(
&
op
);
...
...
@@ -32,17 +36,18 @@ class ReshapeOpExprGrad : public OpExprGradFunction<AutoGradCaptureState> {
return
Maybe
<
void
>::
Ok
();
}
Maybe
<
void
>
Capture
(
AutoGrad
CaptureState
*
ctx
,
const
TensorTuple
&
inputs
,
Maybe
<
void
>
Capture
(
Reshape
CaptureState
*
ctx
,
const
TensorTuple
&
inputs
,
const
TensorTuple
&
outputs
,
const
AttrMap
&
attrs
)
const
override
{
ctx
->
SaveTensorForBackward
(
inputs
.
at
(
0
)
);
ctx
->
input_shape_vec
=
inputs
.
at
(
0
)
->
shape
()
->
dim_vec
(
);
return
Maybe
<
void
>::
Ok
();
}
Maybe
<
void
>
Apply
(
const
AutoGrad
CaptureState
*
ctx
,
const
TensorTuple
&
out_grads
,
Maybe
<
void
>
Apply
(
const
Reshape
CaptureState
*
ctx
,
const
TensorTuple
&
out_grads
,
TensorTuple
*
in_grads
)
const
override
{
const
auto
&
saved_tensors
=
ctx
->
SavedTensors
();
in_grads
->
resize
(
1
);
in_grads
->
at
(
0
)
=
JUST
(
functional
::
ReshapeLike
(
out_grads
.
at
(
0
),
saved_tensors
.
at
(
0
)));
Shape
shape
(
ctx
->
input_shape_vec
);
in_grads
->
at
(
0
)
=
JUST
(
functional
::
Reshape
(
out_grads
.
at
(
0
),
shape
));
return
Maybe
<
void
>::
Ok
();
}
};
...
...
oneflow/core/job_rewriter/fuse_update_ops_pass.cpp
浏览文件 @
fe31e54e
...
...
@@ -173,6 +173,12 @@ Maybe<void> FuseUpdateOpsPass::Apply(const OpGraph& op_graph, JobBuilder* job_bu
.
Attr
<
float
>
(
"beta1"
,
user_op_conf
.
attr
<
float
>
(
"beta1"
))
.
Attr
<
float
>
(
"beta2"
,
user_op_conf
.
attr
<
float
>
(
"beta2"
))
.
Attr
<
float
>
(
"epsilon"
,
user_op_conf
.
attr
<
float
>
(
"epsilon"
));
if
(
user_op_conf
.
has_input
(
"bias_correction1"
,
0
))
{
fused_op_builder
.
Input
(
"bias_correction1"
,
user_op_conf
.
input
(
"bias_correction1"
,
0
));
}
if
(
user_op_conf
.
has_input
(
"bias_correction2"
,
0
))
{
fused_op_builder
.
Input
(
"bias_correction2"
,
user_op_conf
.
input
(
"bias_correction2"
,
0
));
}
}
else
if
(
user_op_conf
.
op_type_name
()
==
"rmsprop_update"
)
{
const
bool
centered
=
user_op_conf
.
attr
<
bool
>
(
"centered"
);
fused_op_builder
.
Input
(
"mean_square"
,
user_op_conf
.
input
(
"mean_square"
,
0.
f
))
...
...
python/oneflow/__init__.py
浏览文件 @
fe31e54e
...
...
@@ -156,7 +156,6 @@ import oneflow.framework.register_python_callback
INVALID_SPLIT_AXIS
=
oneflow
.
_oneflow_internal
.
INVALID_SPLIT_AXIS
register_class_method_util
.
RegisterMethod4Class
()
oneflow
.
_oneflow_internal
.
RegisterGILForeignLockHelper
()
import
oneflow.framework.env_util
as
env_util
import
oneflow.framework.scope_util
as
scope_util
import
oneflow.framework.session_context
as
session_ctx
...
...
@@ -166,6 +165,7 @@ if not env_util.HasAllMultiClientEnvVars():
env_util
.
SetDefaultMultiClientEnvVars
()
oneflow
.
_oneflow_internal
.
SetIsMultiClient
(
True
)
env_util
.
api_env_init
()
oneflow
.
_oneflow_internal
.
RegisterGILForeignLockHelper
()
oneflow
.
_oneflow_internal
.
InitDefaultConsistentTransportTokenScope
()
session_ctx
.
OpenDefaultSession
(
MultiClientSession
(
oneflow
.
_oneflow_internal
.
NewSessionId
())
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录