Readl_volume should contain long values, in the range [0, embedding_dim-1], while it seems you are trying to pass float values and are not using the full range.
If you don’t need to provide 100 different indices, you wouldn’t need to use nz=100.
However, after this layer the torch.cat([x, c], 1) would most likely fail, as x and c would have a different number of dimensions.
I’m not sure what your current use case is, but you won’t be able to concatenate two tensors with different shapes in more then a single dimension.