File tree 2 files changed +27
-1
lines changed 2 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -32,10 +32,11 @@ def base_test():
32
32
model_2 = lambda x : F .softmax (F .tanh (fc3 (x )))
33
33
model_3 = lambda x : F .softmax (F .sigmoid (fc3 (x )))
34
34
model_4 = lambda x : F .softmax (F .leaky_relu (fc4 (x )))
35
+ model_5 = lambda x : F .softmax (F .logsigmoid (fc4 (x )))
35
36
36
37
data = Variable (torch .rand (10 ,10 ))
37
38
38
- out = model_0 (data ) + model_1 (data ) * model_2 (data ) / model_3 (data ) / 2.0 + 2.0 * model_4 (data ) + 1 - 2.0
39
+ out = model_0 (data ) + model_1 (data ) * model_2 (data ) / model_3 (data ) / 2.0 + 2.0 * model_4 (data ) + model_5 ( data ) + 1 - 2.0
39
40
40
41
out_path = 'out'
41
42
if not os .path .isdir (out_path ):
Original file line number Diff line number Diff line change @@ -590,6 +590,31 @@ def free_tpl(self):
590
590
register (Sigmoid , torch .autograd ._functions .pointwise .Sigmoid )
591
591
592
592
593
+ class LogSigmoid (Emitter ):
594
+
595
+ def __init__ (self , obj , prevfns ):
596
+ Emitter .__init__ (self , obj , prevfns )
597
+ self .def_vars ({
598
+ 'input' : id (prevfns [0 ]),
599
+ })
600
+ self .infer_type_var = 'input'
601
+
602
+ def call_tpl (self ):
603
+ return '''
604
+ TH${T}Tensor *$id = TH${T}Tensor_new();
605
+ TH${T}Tensor *buffer_$id = TH${T}Tensor_new();
606
+ THNN_${T}LogSigmoid_updateOutput(NULL,$input,$id,buffer_$id);
607
+ '''
608
+
609
+ def free_tpl (self ):
610
+ return '''
611
+ TH${T}Tensor_free($id);
612
+ TH${T}Tensor_free(buffer_$id);
613
+ '''
614
+
615
+ register (LogSigmoid , torch .nn ._functions .thnn .auto .LogSigmoid )
616
+
617
+
593
618
class Noop (Emitter ):
594
619
595
620
def __init__ (self , obj , prevfns ):
You can’t perform that action at this time.
0 commit comments