!22585 Add grad implementation of AdaptiveAvgPool2D

Merge pull request !22585 from zuochuanyong/adaptive_avgpool2d_grad
This commit is contained in:
i-robot 2021-09-03 01:30:27 +00:00 committed by Gitee
commit 5e6287bec1
39 changed files with 491 additions and 34 deletions

View File

@ -0,0 +1,181 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "backend/kernel_compiler/gpu/cuda_impl/adaptive_avg_pool2d_grad_impl.cuh"
__device__ inline uint start_index(uint a, uint b, uint c) {
return floorf(__uint2float_rn(a * c) / __uint2float_rn(b));
}
__device__ inline uint end_index(uint a, uint b, uint c) {
return ceilf(__uint2float_rn((a + 1) * c) / __uint2float_rn(b));
}
template <typename T>
__global__ void AdaptiveAvgPool2DGradKernel(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, T *input_data,
T *output_data) {
for (uint c = blockIdx.x * blockDim.x + threadIdx.x; c < size; c += gridDim.x * blockDim.x) {
T *input_ptr = input_data + c * input_height * input_width;
T *output_ptr = output_data + c * output_height * output_width;
size_t output_size = output_height * output_width;
for (size_t i = 0; i < output_size; i++) {
output_ptr[i] = 0;
}
for (uint ih = 0; ih < input_height; ih++) {
uint oh0 = start_index(ih, input_height, output_height);
uint oh1 = end_index(ih, input_height, output_height);
uint kh = oh1 - oh0;
for (uint iw = 0; iw < input_width; iw++) {
uint ow0 = start_index(iw, input_width, output_width);
uint ow1 = end_index(iw, input_width, output_width);
uint kw = ow1 - ow0;
T delta = input_ptr[ih * input_width + iw] / (kh * kw);
for (uint oh = oh0; oh < oh1; oh++) {
for (uint ow = ow0; ow < ow1; ow++) {
output_ptr[oh * output_width + ow] += delta;
}
}
}
}
}
}
template <>
__global__ void AdaptiveAvgPool2DGradKernel(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, float *input_data,
float *output_data) {
for (uint c = blockIdx.x * blockDim.x + threadIdx.x; c < size; c += gridDim.x * blockDim.x) {
float *input_ptr = input_data + c * input_height * input_width;
float *output_ptr = output_data + c * output_height * output_width;
size_t output_size = output_height * output_width;
for (size_t i = 0; i < output_size; i++) {
output_ptr[i] = 0;
}
for (uint ih = 0; ih < input_height; ih++) {
uint oh0 = start_index(ih, input_height, output_height);
uint oh1 = end_index(ih, input_height, output_height);
uint kh = oh1 - oh0;
for (uint iw = 0; iw < input_width; iw++) {
uint ow0 = start_index(iw, input_width, output_width);
uint ow1 = end_index(iw, input_width, output_width);
uint kw = ow1 - ow0;
float delta = input_ptr[ih * input_width + iw] / __uint2float_rn(kh * kw);
for (uint oh = oh0; oh < oh1; oh++) {
for (uint ow = ow0; ow < ow1; ow++) {
output_ptr[oh * output_width + ow] += delta;
}
}
}
}
}
}
template <>
__global__ void AdaptiveAvgPool2DGradKernel(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, half *input_data,
half *output_data) {
for (uint c = blockIdx.x * blockDim.x + threadIdx.x; c < size; c += gridDim.x * blockDim.x) {
half *input_ptr = input_data + c * input_height * input_width;
half *output_ptr = output_data + c * output_height * output_width;
size_t output_size = output_height * output_width;
for (size_t i = 0; i < output_size; i++) {
output_ptr[i] = 0;
}
for (uint ih = 0; ih < input_height; ih++) {
uint oh0 = start_index(ih, input_height, output_height);
uint oh1 = end_index(ih, input_height, output_height);
uint kh = oh1 - oh0;
for (uint iw = 0; iw < input_width; iw++) {
uint ow0 = start_index(iw, input_width, output_width);
uint ow1 = end_index(iw, input_width, output_width);
uint kw = ow1 - ow0;
half delta = input_ptr[ih * input_width + iw] / __uint2half_rn(kh * kw);
for (uint oh = oh0; oh < oh1; oh++) {
for (uint ow = ow0; ow < ow1; ow++) {
output_ptr[oh * output_width + ow] += delta;
}
}
}
}
}
}
template <>
__global__ void AdaptiveAvgPool2DGradKernel(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, double *input_data,
double *output_data) {
for (uint c = blockIdx.x * blockDim.x + threadIdx.x; c < size; c += gridDim.x * blockDim.x) {
double *input_ptr = input_data + c * input_height * input_width;
double *output_ptr = output_data + c * output_height * output_width;
size_t output_size = output_height * output_width;
for (size_t i = 0; i < output_size; i++) {
output_ptr[i] = 0;
}
for (uint ih = 0; ih < input_height; ih++) {
uint oh0 = start_index(ih, input_height, output_height);
uint oh1 = end_index(ih, input_height, output_height);
uint kh = oh1 - oh0;
for (uint iw = 0; iw < input_width; iw++) {
uint ow0 = start_index(iw, input_width, output_width);
uint ow1 = end_index(iw, input_width, output_width);
uint kw = ow1 - ow0;
double delta = input_ptr[ih * input_width + iw] / __uint2double_rn(kh * kw);
for (uint oh = oh0; oh < oh1; oh++) {
for (uint ow = ow0; ow < ow1; ow++) {
output_ptr[oh * output_width + ow] += delta;
}
}
}
}
}
}
template <typename T>
void ApplyAdaptiveAvgPool2DGrad(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, T *input_data,
T *output_data, cudaStream_t cuda_stream) {
AdaptiveAvgPool2DGradKernel<<<GET_BLOCKS(size), GET_THREADS, 0, cuda_stream>>>(
size, input_height, input_width, output_height, output_width, input_data, output_data);
}
template void ApplyAdaptiveAvgPool2DGrad<float>(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, float *input_data,
float *output_data, cudaStream_t cuda_stream);
template void ApplyAdaptiveAvgPool2DGrad<half>(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, half *input_data,
half *output_data, cudaStream_t cuda_stream);
template void ApplyAdaptiveAvgPool2DGrad<double>(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, double *input_data,
double *output_data, cudaStream_t cuda_stream);

View File

@ -0,0 +1,26 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef MINDSPORE_CCSRC_KERNEL_GPU_CUDA_IMP_ADAPTIVE_AVGPOOL2D_GRAD_IMPL_H_
#define MINDSPORE_CCSRC_KERNEL_GPU_CUDA_IMP_ADAPTIVE_AVGPOOL2D_GRAD_IMPL_H_
#include "runtime/device/gpu/cuda_common.h"
template <typename T>
void ApplyAdaptiveAvgPool2DGrad(const uint size, const uint input_height, const uint input_width,
const uint output_height, const uint output_width, T *input_data,
T *output_data, cudaStream_t cuda_stream);
#endif // MINDSPORE_CCSRC_KERNEL_GPU_CUDA_IMP_ADAPTIVE_AVGPOOL2D_GRAD_IMPL_H_

View File

@ -0,0 +1,34 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "backend/kernel_compiler/gpu/nn/adaptive_avg_pool2d_grad_gpu_kernel.h"
namespace mindspore {
namespace kernel {
MS_REG_GPU_KERNEL_ONE(
AdaptiveAvgPool2DGrad,
KernelAttr().AddInputAttr(kNumberTypeFloat16).AddInputAttr(kNumberTypeFloat16).AddOutputAttr(kNumberTypeFloat16),
AdaptiveAvgPool2DGradKernel, half)
MS_REG_GPU_KERNEL_ONE(
AdaptiveAvgPool2DGrad,
KernelAttr().AddInputAttr(kNumberTypeFloat32).AddInputAttr(kNumberTypeFloat32).AddOutputAttr(kNumberTypeFloat32),
AdaptiveAvgPool2DGradKernel, float)
MS_REG_GPU_KERNEL_ONE(
AdaptiveAvgPool2DGrad,
KernelAttr().AddInputAttr(kNumberTypeFloat64).AddInputAttr(kNumberTypeFloat64).AddOutputAttr(kNumberTypeFloat64),
AdaptiveAvgPool2DGradKernel, double)
} // namespace kernel
} // namespace mindspore

View File

@ -0,0 +1,120 @@
/**
* Copyright 2021 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef MINDSPORE_CCSRC_BACKEND_KERNEL_COMPILER_GPU_NN_ADAPTIVEAVGPOOL2D_GPU_KERNEL_H_
#define MINDSPORE_CCSRC_BACKEND_KERNEL_COMPILER_GPU_NN_ADAPTIVEAVGPOOL2D_GPU_KERNEL_H_
#include <vector>
#include <string>
#include <algorithm>
#include "backend/kernel_compiler/gpu/gpu_kernel.h"
#include "backend/kernel_compiler/gpu/gpu_kernel_factory.h"
#include "backend/kernel_compiler/gpu/cuda_impl/adaptive_avg_pool2d_grad_impl.cuh"
namespace mindspore {
namespace kernel {
constexpr size_t kAdaptiveAvgPool2dGradInputNum = 2;
constexpr size_t kAdaptiveAvgPool2dGradMinRank = 2;
template <typename T>
class AdaptiveAvgPool2DGradKernel : public GpuKernel {
public:
AdaptiveAvgPool2DGradKernel()
: input_size_(0),
output_size_(0),
input_height_(0),
input_width_(0),
output_height_(0),
output_width_(0),
size_(0) {}
~AdaptiveAvgPool2DGradKernel() override = default;
const std::vector<size_t> &GetInputSizeList() const override { return input_size_list_; }
const std::vector<size_t> &GetOutputSizeList() const override { return output_size_list_; }
const std::vector<size_t> &GetWorkspaceSizeList() const override { return workspace_size_list_; }
bool Launch(const std::vector<AddressPtr> &inputs, const std::vector<AddressPtr> &,
const std::vector<AddressPtr> &outputs, void *stream_ptr) override {
T *dy_addr = GetDeviceAddress<T>(inputs, 1);
T *dx_addr = GetDeviceAddress<T>(outputs, 0);
ApplyAdaptiveAvgPool2DGrad(size_, input_height_, input_width_, output_height_, output_width_, dy_addr, dx_addr,
reinterpret_cast<cudaStream_t>(stream_ptr));
return true;
}
bool Init(const CNodePtr &kernel_node) override {
size_t input_num = AnfAlgo::GetInputTensorNum(kernel_node);
if (input_num != kAdaptiveAvgPool2dGradInputNum) {
MS_LOG(ERROR) << "Input number is " << input_num << ", but AdaptiveAvgPool2DGrad needs "
<< kAdaptiveAvgPool2dGradInputNum << " inputs.";
return false;
}
input_size_ = sizeof(T);
output_size_ = sizeof(T);
auto input_shape = AnfAlgo::GetPrevNodeOutputInferShape(kernel_node, 1); // dy
auto output_shape = AnfAlgo::GetOutputInferShape(kernel_node, 0); // dx
auto input_rank = input_shape.size();
auto output_rank = output_shape.size();
if (input_rank < kAdaptiveAvgPool2dGradMinRank || output_rank < kAdaptiveAvgPool2dGradMinRank) {
MS_LOG(ERROR) << "The input or output should have rank at least 2.";
return false;
}
input_height_ = static_cast<uint>(input_shape[input_rank - 2]);
input_width_ = static_cast<uint>(input_shape[input_rank - 1]);
size_ = static_cast<uint>(input_rank == (kAdaptiveAvgPool2dGradMinRank + 1) ? input_shape[0]
: input_shape[0] * input_shape[1]);
for (uint i = 0; i < input_rank; i++) {
input_size_ *= input_shape[i];
}
output_height_ = static_cast<uint>(output_shape[output_rank - 2]);
output_width_ = static_cast<uint>(output_shape[output_rank - 1]);
for (size_t i = 0; i < output_shape.size(); i++) {
output_size_ *= output_shape[i];
}
InitSizeLists();
return true;
}
protected:
void InitSizeLists() override {
input_size_list_.push_back(input_size_);
output_size_list_.push_back(output_size_);
}
private:
size_t input_size_;
size_t output_size_;
uint input_height_;
uint input_width_;
uint output_height_;
uint output_width_;
uint size_;
std::vector<size_t> input_size_list_;
std::vector<size_t> output_size_list_;
std::vector<size_t> workspace_size_list_;
};
} // namespace kernel
} // namespace mindspore
#endif // MINDSPORE_CCSRC_BACKEND_KERNEL_COMPILER_GPU_NN_ADAPTIVEAVGPOOL2D_GPU_KERNEL_H_

View File

@ -318,6 +318,17 @@ def get_bprop_avg_pool_grad(self):
return bprop
@bprop_getters.register(P.AdaptiveAvgPool2D)
def get_bprop_adaptive_avg_pool2d_grad(self):
"""Grad definition for `AdaptiveAvgPool2D` operation."""
adaptive_avgpool_grad = G.AdaptiveAvgPool2DGrad()
def bprop(x, out, dout):
dx = adaptive_avgpool_grad(x, dout)
return (dx,)
return bprop
@bprop_getters.register(P.AvgPool3D)
def get_bprop_avg_pool_3d_grad(self):
"""Grad definition for `AvgPool3D` operation."""

View File

@ -16,4 +16,4 @@ bprop.32:x*
bprop.32:y*
bprop.32:out*
bprop.32:dout2
bprop.32:[CNode]35:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.32:[CNode]35:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.13:x*
bprop.13:out*
bprop.13:dout2
bprop.13:[CNode]15:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.13:[CNode]15:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.16:x*
bprop.16:out*
bprop.16:dout2
bprop.16:[CNode]18:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.16:[CNode]18:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.21:x*
bprop.21:y*
bprop.21:out*
bprop.21:dout2
bprop.21:[CNode]24:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.21:[CNode]24:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.25:x*
bprop.25:y*
bprop.25:out*
bprop.25:dout2
bprop.25:[CNode]28:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.25:[CNode]28:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -12,4 +12,4 @@ bprop.60:x*
bprop.60:y*
bprop.60:out*
bprop.60:dout2
bprop.60:[CNode]62:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.60:[CNode]62:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.67:x*
bprop.67:out*
bprop.67:dout2
bprop.67:[CNode]69:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.67:[CNode]69:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -6,4 +6,4 @@ l
bprop.19:x*
bprop.19:out*
bprop.19:dout2
bprop.19:[CNode]20:1:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.19:[CNode]20:1:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -17,4 +17,4 @@
bprop.110:keep_prob*
bprop.110:out*
bprop.110:dout2
bprop.110:[CNode]114:4:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.110:[CNode]114:4:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -12,4 +12,4 @@
bprop.50:keep_prob*
bprop.50:out*
bprop.50:dout2
bprop.50:[CNode]53:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.50:[CNode]53:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.70:x*
bprop.70:y*
bprop.70:out*
bprop.70:dout2
bprop.70:[CNode]73:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.70:[CNode]73:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.82:x*
bprop.82:y*
bprop.82:out*
bprop.82:dout2
bprop.82:[CNode]85:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.82:[CNode]85:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.78:x*
bprop.78:y*
bprop.78:out*
bprop.78:dout2
bprop.78:[CNode]81:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.78:[CNode]81:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.63:x*
bprop.63:y*
bprop.63:out*
bprop.63:dout2
bprop.63:[CNode]66:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.63:[CNode]66:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -5,4 +5,4 @@ f
bprop.2:x*
bprop.2:out*
bprop.2:dout2
bprop.2:[CNode]3:1:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.2:[CNode]3:1:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.29:x*
bprop.29:out*
bprop.29:dout2
bprop.29:[CNode]31:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.29:[CNode]31:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.90:x*
bprop.90:y*
bprop.90:out*
bprop.90:dout2
bprop.90:[CNode]93:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.90:[CNode]93:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.86:x*
bprop.86:y*
bprop.86:out*
bprop.86:dout2
bprop.86:[CNode]89:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.86:[CNode]89:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -15,4 +15,4 @@
bprop.45:num*
bprop.45:out*
bprop.45:dout2
bprop.45:[CNode]49:4:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.45:[CNode]49:4:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.94:x*
bprop.94:y*
bprop.94:out*
bprop.94:dout2
bprop.94:[CNode]97:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.94:[CNode]97:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.39:x*
bprop.39:out*
bprop.39:dout2
bprop.39:[CNode]41:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.39:[CNode]41:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.98:x*
bprop.98:y*
bprop.98:out*
bprop.98:dout2
bprop.98:[CNode]101:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.98:[CNode]101:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -16,4 +16,4 @@ bprop.74:x*
bprop.74:y*
bprop.74:out*
bprop.74:dout2
bprop.74:[CNode]77:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.74:[CNode]77:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -19,4 +19,4 @@
bprop.54:off_value*
bprop.54:out*
bprop.54:dout2
bprop.54:[CNode]59:5:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.54:[CNode]59:5:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -7,4 +7,4 @@ l
bprop.7:x*
bprop.7:out*
bprop.7:dout2
bprop.7:[CNode]9:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.7:[CNode]9:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -7,4 +7,4 @@ l
bprop.4:x*
bprop.4:out*
bprop.4:dout2
bprop.4:[CNode]6:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.4:[CNode]6:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -8,4 +8,4 @@ f
bprop.0:x*
bprop.0:out*
bprop.0:dout2
bprop.0:[CNode]1:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.0:[CNode]1:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -12,4 +12,4 @@
bprop.102:axis*
bprop.102:out*
bprop.102:dout2
bprop.102:[CNode]105:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.102:[CNode]105:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -12,4 +12,4 @@
bprop.106:axis*
bprop.106:out*
bprop.106:dout2
bprop.106:[CNode]109:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.106:[CNode]109:3:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.42:x*
bprop.42:out*
bprop.42:dout2
bprop.42:[CNode]44:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.42:[CNode]44:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ s
bprop.36:x*
bprop.36:out*
bprop.36:dout2
bprop.36:[CNode]38:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.36:[CNode]38:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -9,4 +9,4 @@ r
bprop.10:x*
bprop.10:out*
bprop.10:dout2
bprop.10:[CNode]12:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71be985a048b98205beb531a0e96f3c9c3c36cb9a5fef472e532f1e8041d85d279c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c
bprop.10:[CNode]12:2:€087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f1bb10d35eb13b30786fa05cc950c1d1711dbc21a5dda0cf3c1670158c0627efe2366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b22470a581257d7d4d477704a012a34929cbbd312ac64848b9e2b80836454492b454c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260ffb378d62977d2a1338d9b64be24b7349347c19c65faf6ba72837f4df97ff84c

View File

@ -843,6 +843,20 @@ class AvgPoolGrad(_PoolGrad):
return x1_dtype
class AdaptiveAvgPool2DGrad(PrimitiveWithInfer):
"""Gradients of the adaptive avg pool 2D operation."""
@prim_attr_register
def __init__(self):
"""Initialize AdaptiveAvgPool2DGrad"""
def infer_shape(self, x1_shape, grad_shape):
return x1_shape
def infer_dtype(self, x1_dtype, grad_dtype):
return x1_dtype
class AvgPool3DGrad(Primitive):
"""Gradients of the avg pool3d operation."""

View File

@ -21,6 +21,7 @@ import mindspore.context as context
import mindspore.nn as nn
from mindspore import Tensor, ops
from mindspore.ops import operations as P
from mindspore.ops.operations import _grad_ops as G
from mindspore.common.api import ms_function
context.set_context(mode=context.PYNATIVE_MODE, device_target='GPU')
@ -36,6 +37,16 @@ class Net(nn.Cell):
return self.adaptive_avg_pool2d(x)
class GradNet(nn.Cell):
def __init__(self):
super(GradNet, self).__init__()
self.adaptive_avg_pool2d_grad = G.AdaptiveAvgPool2DGrad()
@ms_function
def construct(self, x, dy):
return self.adaptive_avg_pool2d_grad(x, dy)
@pytest.mark.level0
@pytest.mark.platform_x86_gpu_training
@pytest.mark.env_onecard
@ -85,20 +96,80 @@ def test_net_value():
assert output.asnumpy().shape == expect_shape
assert (output.asnumpy() == expect_output).all
expect_dx = np.array([[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]],
[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]],
[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]]])
grad_net = GradNet()
dx = grad_net(Tensor(x), output)
assert dx.asnumpy().shape == x.shape
assert (dx.asnumpy() == expect_dx).all
@pytest.mark.level0
@pytest.mark.platform_x86_gpu_training
@pytest.mark.env_onecard
def test_net_pynative():
def test_net_graph_mode():
context.set_context(mode=context.GRAPH_MODE, device_target="GPU")
x = np.array([[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]],
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]],
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]])
adaptive_avg_pool_2d = ops.AdaptiveAvgPool2D((2, 2))
output = adaptive_avg_pool_2d(Tensor(x))
output = adaptive_avg_pool_2d(Tensor(x, mindspore.float16))
expect_shape = (3, 2, 2)
expect_output = np.array([[[3.0, 4.0], [6.0, 7.0]],
[[3.0, 4.0], [6.0, 7.0]],
[[3.0, 4.0], [6.0, 7.0]]])
assert output.asnumpy().shape == expect_shape
assert (output.asnumpy() == expect_output).all
expect_dx = np.array([[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]],
[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]],
[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]]])
grad_net = GradNet()
dx = grad_net(Tensor(x, mindspore.float16), output)
assert dx.asnumpy().shape == x.shape
assert (dx.asnumpy() == expect_dx).all
@pytest.mark.level0
@pytest.mark.platform_x86_gpu_training
@pytest.mark.env_onecard
def test_net_graph_mode_fp64():
context.set_context(mode=context.GRAPH_MODE, device_target="GPU")
x = np.array([[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]],
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]],
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]])
adaptive_avg_pool_2d = ops.AdaptiveAvgPool2D((2, 2))
output = adaptive_avg_pool_2d(Tensor(x, mindspore.float64))
expect_shape = (3, 2, 2)
expect_output = np.array([[[3.0, 4.0], [6.0, 7.0]],
[[3.0, 4.0], [6.0, 7.0]],
[[3.0, 4.0], [6.0, 7.0]]])
assert output.asnumpy().shape == expect_shape
assert (output.asnumpy() == expect_output).all
expect_dx = np.array([[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]],
[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]],
[[0.75, 1.75, 1.0],
[2.25, 5.0, 2.75],
[1.5, 3.25, 1.75]]])
grad_net = GradNet()
dx = grad_net(Tensor(x, mindspore.float64), output)
assert dx.asnumpy().shape == x.shape
assert (dx.asnumpy() == expect_dx).all