Created
February 17, 2019 13:52
-
-
Save rxwei/1c9992feda3462df6f6e6fe9d5a2e5e3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__adjoint_src_0_wrt_0_1 | |
sil hidden @AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__adjoint_src_0_wrt_0_1 : $@convention(method) (@guaranteed Tensor<Float>, @guaranteed _AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1) -> (@owned MNISTClassifier.AllDifferentiableVariables, @owned Tensor<Float>) { | |
// %0 // users: %41, %4, %2 | |
// %1 // users: %29, %25, %21, %17, %13, %11, %7, %3 | |
bb0(%0 : $Tensor<Float>, %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1): | |
retain_value %0 : $Tensor<Float> // id: %2 | |
%3 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_7 // user: %4 | |
%4 = apply %3(%0) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (@owned Dense<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %6, %5 | |
%5 = tuple_extract %4 : $(Dense<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %49, %33 | |
%6 = tuple_extract %4 : $(Dense<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // users: %40, %8 | |
%7 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_6 // user: %8 | |
%8 = apply %7(%6) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (@owned Dense<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %10, %9 | |
%9 = tuple_extract %8 : $(Dense<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %48, %33 | |
%10 = tuple_extract %8 : $(Dense<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // users: %39, %12 | |
%11 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_5 // user: %12 | |
%12 = apply %11(%10) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> @owned Tensor<Float> // users: %38, %14 | |
%13 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_4 // user: %14 | |
%14 = apply %13(%12) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (MaxPool2D<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %16, %15 | |
%15 = tuple_extract %14 : $(MaxPool2D<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %42, %33 | |
%16 = tuple_extract %14 : $(MaxPool2D<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // users: %37, %18 | |
%17 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_3 // user: %18 | |
%18 = apply %17(%16) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (@owned Conv2D<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %20, %19 | |
%19 = tuple_extract %18 : $(Conv2D<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %47, %33 | |
%20 = tuple_extract %18 : $(Conv2D<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // users: %36, %22 | |
%21 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_2 // user: %22 | |
%22 = apply %21(%20) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (MaxPool2D<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %24, %23 | |
%23 = tuple_extract %22 : $(MaxPool2D<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %35, %33 | |
%24 = tuple_extract %22 : $(MaxPool2D<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // users: %44, %26 | |
%25 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_1 // user: %26 | |
%26 = apply %25(%24) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (@owned BatchNorm<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %28, %27 | |
%27 = tuple_extract %26 : $(BatchNorm<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %43, %33 | |
%28 = tuple_extract %26 : $(BatchNorm<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // users: %46, %30 | |
%29 = struct_extract %1 : $_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1, #_AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__Type__src_0_wrt_0_1.pullback_0 // user: %30 | |
%30 = apply %29(%28) : $@callee_guaranteed (@guaranteed Tensor<Float>) -> (@owned Conv2D<Float>.AllDifferentiableVariables, @owned Tensor<Float>) // users: %32, %31 | |
%31 = tuple_extract %30 : $(Conv2D<Float>.AllDifferentiableVariables, Tensor<Float>), 0 // users: %45, %33 | |
%32 = tuple_extract %30 : $(Conv2D<Float>.AllDifferentiableVariables, Tensor<Float>), 1 // user: %50 | |
%33 = struct $MNISTClassifier.AllDifferentiableVariables (%23 : $MaxPool2D<Float>.AllDifferentiableVariables, %15 : $MaxPool2D<Float>.AllDifferentiableVariables, %27 : $BatchNorm<Float>.AllDifferentiableVariables, %31 : $Conv2D<Float>.AllDifferentiableVariables, %19 : $Conv2D<Float>.AllDifferentiableVariables, %9 : $Dense<Float>.AllDifferentiableVariables, %5 : $Dense<Float>.AllDifferentiableVariables) // users: %50, %34 | |
retain_value %33 : $MNISTClassifier.AllDifferentiableVariables // id: %34 | |
release_value %23 : $MaxPool2D<Float>.AllDifferentiableVariables // id: %35 | |
release_value %20 : $Tensor<Float> // id: %36 | |
release_value %16 : $Tensor<Float> // id: %37 | |
release_value %12 : $Tensor<Float> // id: %38 | |
release_value %10 : $Tensor<Float> // id: %39 | |
release_value %6 : $Tensor<Float> // id: %40 | |
release_value %0 : $Tensor<Float> // id: %41 | |
release_value %15 : $MaxPool2D<Float>.AllDifferentiableVariables // id: %42 | |
release_value %27 : $BatchNorm<Float>.AllDifferentiableVariables // id: %43 | |
release_value %24 : $Tensor<Float> // id: %44 | |
release_value %31 : $Conv2D<Float>.AllDifferentiableVariables // id: %45 | |
release_value %28 : $Tensor<Float> // id: %46 | |
release_value %19 : $Conv2D<Float>.AllDifferentiableVariables // id: %47 | |
release_value %9 : $Dense<Float>.AllDifferentiableVariables // id: %48 | |
release_value %5 : $Dense<Float>.AllDifferentiableVariables // id: %49 | |
%50 = tuple (%33 : $MNISTClassifier.AllDifferentiableVariables, %32 : $Tensor<Float>) // user: %51 | |
return %50 : $(MNISTClassifier.AllDifferentiableVariables, Tensor<Float>) // id: %51 | |
} // end sil function 'AD__$s4test15MNISTClassifierV7applied2to10TensorFlow0E0VySfGAI_tF__adjoint_src_0_wrt_0_1' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment