Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
types.data[...] = 0
types.data[:,10] = 1
batch_radii = torch.tensor(np.tile(radii, (batch_size, 1)), dtype=torch.float32, device='cuda')
grid_gen = c2grid(coords.unsqueeze(0), types.unsqueeze(0)[:,:,:-1], batch_radii)
assert float(grid_gen[0][10].sum()) == approx(float(grid_gen.sum()))
assert grid_gen.sum() > 0
target = torch.zeros_like(grid_gen)
target[0,:,24,24,24] = 1000.0
grad_coords = molgrid.MGrid2f(n_atoms,3)
grad_types = molgrid.MGrid2f(n_atoms,n_types)
r = molgrid.MGrid1f(len(radii))
r.copyFrom(radii)
grid_loss = F.mse_loss(target, grid_gen)
grid_loss.backward()
print(grid_loss)
print(coords.grad.detach().cpu().numpy())
e = molgrid.ExampleProvider(data_root=datadir+"/structs")
e.populate(fname)
batch_size = 100
batch = e.next_batch(batch_size)
#extract labels
nlabels = e.num_labels()
assert nlabels == 3
labels = molgrid.MGrid2f(batch_size,nlabels)
gpulabels = molgrid.MGrid2f(batch_size,nlabels)
batch.extract_labels(labels.cpu())
batch.extract_labels(gpulabels.gpu())
assert np.array_equal(labels.tonumpy(), gpulabels.tonumpy())
label0 = molgrid.MGrid1f(batch_size)
label1 = molgrid.MGrid1f(batch_size)
label2 = molgrid.MGrid1f(batch_size)
batch.extract_label(0, label0.cpu())
batch.extract_label(1, label1.cpu())
batch.extract_label(2, label2.gpu())
assert label0[0] == 1
assert label1[0] == approx(6.05)
assert label2[0] == approx(0.162643)
assert labels[0,0] == 1
assert labels[0][1] == approx(6.05)
assert labels[0][2] == approx(0.162643)
for i in range(nlabels):
assert label0[i] == labels[i][0]
assert label1[i] == labels[i][1]
assert label2[i] == labels[i][2]
fname = datadir+"/small.types"
e = molgrid.ExampleProvider(data_root=datadir+"/structs")
e.populate(fname)
batch_size = 100
batch = e.next_batch(batch_size)
#extract labels
nlabels = e.num_labels()
assert nlabels == 3
labels = molgrid.MGrid2f(batch_size,nlabels)
gpulabels = molgrid.MGrid2f(batch_size,nlabels)
batch.extract_labels(labels.cpu())
batch.extract_labels(gpulabels.gpu())
assert np.array_equal(labels.tonumpy(), gpulabels.tonumpy())
label0 = molgrid.MGrid1f(batch_size)
label1 = molgrid.MGrid1f(batch_size)
label2 = molgrid.MGrid1f(batch_size)
batch.extract_label(0, label0.cpu())
batch.extract_label(1, label1.cpu())
batch.extract_label(2, label2.gpu())
assert label0[0] == 1
assert label1[0] == approx(6.05)
assert label2[0] == approx(0.162643)
assert labels[0,0] == 1
assert labels[0][1] == approx(6.05)
assert labels[0][2] == approx(0.162643)
for i in range(nlabels):
assert label0[i] == labels[i][0]
assert label1[i] == labels[i][1]
fname = datadir+"/small.types"
e = molgrid.ExampleProvider(ligmolcache=datadir+'/lig.molcache2',recmolcache=datadir+'/rec.molcache2')
e.populate(fname)
batch_size = 100
batch = e.next_batch(batch_size)
#extract labels
nlabels = e.num_labels()
assert nlabels == 3
labels = molgrid.MGrid2f(batch_size,nlabels)
gpulabels = molgrid.MGrid2f(batch_size,nlabels)
batch.extract_labels(labels.cpu())
batch.extract_labels(gpulabels.gpu())
assert np.array_equal(labels.tonumpy(), gpulabels.tonumpy())
label0 = molgrid.MGrid1f(batch_size)
label1 = molgrid.MGrid1f(batch_size)
label2 = molgrid.MGrid1f(batch_size)
batch.extract_label(0, label0.cpu())
batch.extract_label(1, label1.cpu())
batch.extract_label(2, label2.gpu())
assert label0[0] == 1
assert label1[0] == approx(6.05)
assert label2[0] == approx(0.162643)
assert labels[0,0] == 1
assert labels[0][1] == approx(6.05)
assert labels[0][2] == approx(0.162643)
for i in range(nlabels):
assert label0[i] == labels[i][0]
assert label1[i] == labels[i][1]
e.populate(fname)
batch_size = 100
batch = e.next_batch(batch_size)
#extract labels
nlabels = e.num_labels()
assert nlabels == 3
labels = molgrid.MGrid2f(batch_size,nlabels)
gpulabels = molgrid.MGrid2f(batch_size,nlabels)
batch.extract_labels(labels.cpu())
batch.extract_labels(gpulabels.gpu())
assert np.array_equal(labels.tonumpy(), gpulabels.tonumpy())
label0 = molgrid.MGrid1f(batch_size)
label1 = molgrid.MGrid1f(batch_size)
label2 = molgrid.MGrid1f(batch_size)
batch.extract_label(0, label0.cpu())
batch.extract_label(1, label1.cpu())
batch.extract_label(2, label2.gpu())
assert label0[0] == 1
assert label1[0] == approx(6.05)
assert label2[0] == approx(0.162643)
assert labels[0,0] == 1
assert labels[0][1] == approx(6.05)
assert labels[0][2] == approx(0.162643)
for i in range(nlabels):
assert label0[i] == labels[i][0]
assert label1[i] == labels[i][1]
assert label2[i] == labels[i][2]
e.populate(fname)
batch_size = 100
batch = e.next_batch(batch_size)
#extract labels
nlabels = e.num_labels()
assert nlabels == 3
labels = molgrid.MGrid2f(batch_size,nlabels)
gpulabels = molgrid.MGrid2f(batch_size,nlabels)
batch.extract_labels(labels.cpu())
batch.extract_labels(gpulabels.gpu())
assert np.array_equal(labels.tonumpy(), gpulabels.tonumpy())
label0 = molgrid.MGrid1f(batch_size)
label1 = molgrid.MGrid1f(batch_size)
label2 = molgrid.MGrid1f(batch_size)
batch.extract_label(0, label0.cpu())
batch.extract_label(1, label1.cpu())
batch.extract_label(2, label2.gpu())
assert label0[0] == 1
assert label1[0] == approx(6.05)
assert label2[0] == approx(0.162643)
assert labels[0,0] == 1
assert labels[0][1] == approx(6.05)
assert labels[0][2] == approx(0.162643)
for i in range(nlabels):
assert label0[i] == labels[i][0]
assert label1[i] == labels[i][1]
assert label2[i] == labels[i][2]
e = molgrid.ExampleProvider(ligmolcache=datadir+'/lig.molcache2',recmolcache=datadir+'/rec.molcache2')
e.populate(fname)
batch_size = 100
batch = e.next_batch(batch_size)
#extract labels
nlabels = e.num_labels()
assert nlabels == 3
labels = molgrid.MGrid2f(batch_size,nlabels)
gpulabels = molgrid.MGrid2f(batch_size,nlabels)
batch.extract_labels(labels.cpu())
batch.extract_labels(gpulabels.gpu())
assert np.array_equal(labels.tonumpy(), gpulabels.tonumpy())
label0 = molgrid.MGrid1f(batch_size)
label1 = molgrid.MGrid1f(batch_size)
label2 = molgrid.MGrid1f(batch_size)
batch.extract_label(0, label0.cpu())
batch.extract_label(1, label1.cpu())
batch.extract_label(2, label2.gpu())
assert label0[0] == 1
assert label1[0] == approx(6.05)
assert label2[0] == approx(0.162643)
assert labels[0,0] == 1
assert labels[0][1] == approx(6.05)
assert labels[0][2] == approx(0.162643)
for i in range(nlabels):
assert label0[i] == labels[i][0]
assert label1[i] == labels[i][1]
assert label2[i] == labels[i][2]