Hi everyone,

I am trying to convert the following code in TensorFlow to PyTorch. But I couldn’t get the point of how to write the placeholders and tf.variable_scope() in PyTorch. Is there any equivalent function for those?

class Dense(Layer):

“”“Dense layer.”""

def **init**(self, input_dim, output_dim, placeholders, dropout=0., sparse_inputs=False,

act=nn.ReLU(), bias=False, featureless=False, **kwargs):

super(Dense, self).**init**(**kwargs)

```
if dropout:
self.dropout = placeholders['dropout']
else:
self.dropout = 0.
self.act = act
self.sparse_inputs = sparse_inputs
self.featureless = featureless
self.bias = bias
# helper variable for sparse dropout
self.num_features_nonzero = placeholders['num_features_nonzero']
with tf.variable_scope(self.name + '_vars'):
self.vars['weights'] = glorot([input_dim, output_dim],
name='weights')
if self.bias:
self.vars['bias'] = zeros([output_dim], name='bias')
if self.logging:
self._log_vars()
def _call(self, inputs):
x = inputs
# # dropout
if self.sparse_inputs:
x = SparseDropout(x, 1-self.dropout, self.num_features_nonzero)
else:
x = nn.Dropout(x, 1-self.dropout)
# transform
output = dot(x, self.vars['weights'], sparse=self.sparse_inputs)
# bias
if self.bias:
output += self.vars['bias']
return self.act(output)
```