After you’ve reassigned the tensor to conv1.weights, could you check, if these parameters are shown via:
for (const auto& pair : net.named_parameters()) {
  std::cout << pair.key() << ": " << pair.value() << std::endl;
}

Usually, the attribute is called weight (without the s at the end), so maybe you are just creating a new key in the map?