@ptrblck -san,
Thank you for your replying. I now use nn.BCEWithLogitsLoss instead of  nn.BCELoss because bellow site explains the nn.BCELoss is sometime unstable;
http://37ma5ras.blogspot.com/2017/12/loss-function.html

After that I meet error again of different matter;
TypeError                                 Traceback (most recent call last)
<ipython-input-10-8d31dc232b4b> in <module>()
     22       print(out)
     23 
---> 24       loss = criterion(out, y)
     25       loss.backward(retain_graph = True)
     26       optimizer.step()

2 frames
/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py in binary_cross_entropy_with_logits(input, target, weight, size_average, reduce, reduction, pos_weight)
   2158         reduction_enum = _Reduction.get_enum(reduction)
   2159 
-> 2160     if not (target.size() == input.size()):
   2161         raise ValueError("Target size ({}) must be the same as input size ({})".format(target.size(), input.size()))
   2162 

TypeError: 'int' object is not callable

label is;
[0. 0. 0. 0. 0. 0. 0. 0. 1. 0.]

and output from model is;
tensor([8.9153e-01, 9.3097e-01, 9.7947e-04, 9.9783e-01, 4.7369e-03, 9.7412e-01,
        1.2952e-01, 1.8061e-01, 4.7231e-01, 8.2431e-01],
       grad_fn=<MulBackward0>)

So, both is float, so seems other some arg being set int?