class_docstr: V-Net based on `Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation
  <https://arxiv.org/pdf/1606.04797.pdf>`_.
  Adapted from `the official Caffe implementation
  <https://github.com/faustomilletari/VNet>`_. and `another pytorch implementation
  <https://github.com/mattmacy/vnet.pytorch/blob/master/vnet.py>`_.
  The model supports 2D or 3D inputs.
  
  Args:
      spatial_dims: spatial dimension of the input data. Defaults to 3.
      in_channels: number of input channels for the network. Defaults to 1.
          The value should meet the condition that ``16 % in_channels == 0``.
      out_channels: number of output channels for the network. Defaults to 1.
      act: activation type in the network. Defaults to ``("elu", {"inplace": True})``.
      dropout_prob_down: dropout ratio for DownTransition blocks. Defaults to 0.5.
      dropout_prob_up: dropout ratio for UpTransition blocks. Defaults to (0.5, 0.5).
      dropout_dim: determine the dimensions of dropout. Defaults to (0.5, 0.5).
  
          - ``dropout_dim = 1``, randomly zeroes some of the elements for each channel.
          - ``dropout_dim = 2``, Randomly zeroes out entire channels (a channel is a 2D feature map).
          - ``dropout_dim = 3``, Randomly zeroes out entire channels (a channel is a 3D feature map).
      bias: whether to have a bias term in convolution blocks. Defaults to False.
          According to `Performance Tuning Guide <https://pytorch.org/tutorials/recipes/recipes/tuning_guide.html>`_,
          if a conv layer is directly followed by a batch norm layer, bias should be False.
  
  .. deprecated:: 1.2
      ``dropout_prob`` is deprecated in favor of ``dropout_prob_down`` and ``dropout_prob_up``.
class_docstr_tok: ["V-Net","based","on","`","Fully","Convolutional","Neural","Networks","for","Volumetric","Medical","Image","Segmentation","<","https",":","\/\/arxiv.org\/pdf\/1606.04797.pdf",">","`","_",".","Adapted","from","`","the","official","Caffe","implementation","<","https",":","\/\/github.com\/faustomilletari\/VNet",">","`","_",".","and","`","another","pytorch","implementation","<","https",":","\/\/github.com\/mattmacy\/vnet.pytorch\/blob\/master\/vnet.py",">","`","_",".","The","model","supports","2D","or","3D","inputs",".","Args",":","spatial_dims",":","spatial","dimension","of","the","input","data",".","Defaults","to","3.","in_channels",":","number","of","input","channels","for","the","network",".","Defaults","to","1",".","The","value","should","meet","the","condition","that","``","16","%","in_channels","==","0","``",".","out_channels",":","number","of","output","channels","for","the","network",".","Defaults","to","1.","act",":","activation","type","in","the","network",".","Defaults","to","``","(","``","elu","''",",","{","``","inplace","''",":","True","}",")","``",".","dropout_prob_down",":","dropout","ratio","for","DownTransition","blocks",".","Defaults","to","0.5.","dropout_prob_up",":","dropout","ratio","for","UpTransition","blocks",".","Defaults","to","(","0.5",",","0.5",")",".","dropout_dim",":","determine","the","dimensions","of","dropout",".","Defaults","to","(","0.5",",","0.5",")",".","-","``","dropout_dim","=","1","``",",","randomly","zeroes","some","of","the","elements","for","each","channel",".","-","``","dropout_dim","=","2","``",",","Randomly","zeroes","out","entire","channels","(","a","channel","is","a","2D","feature","map",")",".","-","``","dropout_dim","=","3","``",",","Randomly","zeroes","out","entire","channels","(","a","channel","is","a","3D","feature","map",")",".","bias",":","whether","to","have","a","bias","term","in","convolution","blocks",".","Defaults","to","False",".","According","to","`","Performance","Tuning","Guide","<","https",":","\/\/pytorch.org\/tutorials\/recipes\/recipes\/tuning_guide.html",">","`","_",",","if","a","conv","layer","is","directly","followed","by","a","batch","norm","layer",",","bias","should","be","False",".","..","deprecated",":",":","1.2","``","dropout_prob","``","is","deprecated","in","favor","of","``","dropout_prob_down","``","and","``","dropout_prob_up","``","."]
code: def forward(self, x):
      out16 = self.in_tr(x)
      out32 = self.down_tr32(out16)
      out64 = self.down_tr64(out32)
      out128 = self.down_tr128(out64)
      out256 = self.down_tr256(out128)
      x = self.up_tr256(out256, out128)
      x = self.up_tr128(x, out64)
      x = self.up_tr64(x, out32)
      x = self.up_tr32(x, out16)
      x = self.out_tr(x)
      return x
  
imports: from __future__ import annotations
  import torch
  import torch.nn
  from monai.networks.blocks.convolutions import Convolution
  from monai.networks.layers.factories import Act, Conv, Dropout, Norm, split_args
  from monai.utils import deprecated_arg
label_desc: Use image node_id 2 for calling the VNet obj's underlying member method code with example usage: obj.forward(x) and returns: x