You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
prior_network = pd.read_csv('./network_mouse.csv')
data = cf.data_preparation(adata, prior_network)
[0] - Data loading and preprocessing...
Consider the input data with 1 lineages:
Lineage - all:
337 extra edges (Spearman correlation > 0.6) are added into the prior gene interaction network.
Total number of edges: 3537148.
n_genes × n_cells = 12335 × 1822
CUDA = '0'
%%time
cefcon_results_dict = {}
for li, data_li in data.items():
# We suggest setting up multiple repeats to minimize the randomness of the computation.
cefcon_GRN_model = cf.NetModel(epochs=350, repeats=3, seed=-1,cuda=CUDA)
cefcon_GRN_model.run(data_li)
cefcon_results = cefcon_GRN_model.get_cefcon_results(edge_threshold_avgDegree=8)
cefcon_results_dict[li] = cefcon_results
get error like this
[1] - Constructing cell-lineage-specific GRN...
Lineage - all:
Warning: Auxiliary gene scores (e.g., differential expression level) are not considered!
0%| | 0/350 [00:00<?, ?it/s]
---------------------------------------------------------------------------
OutOfMemoryError Traceback (most recent call last)
File <timed exec>:5
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/cefcon/cell_lineage_GRN.py:370, in NetModel.run(self, adata, showProgressBar)
368 with trange(self.epochs, ncols=100) as t:
369 for epoch in t:
--> 370 loss = self.__train(data, DGI_model, optimizer)
371 t.set_description(' Iter: {}/{}'.format(rep + 1, self.repeats))
372 if epoch < self.epochs - 1:
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/cefcon/cell_lineage_GRN.py:326, in NetModel.__train(data, model, optimizer)
324 model.train()
325 optimizer.zero_grad()
--> 326 pos_z, neg_z, summary = model(data)
327 loss = model.loss(pos_z, neg_z, summary)
328 loss.backward()
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch/nn/modules/module.py:1194, in Module._call_impl(self, *input, **kwargs)
1190 # If we don't have any hooks, we want to skip the rest of the logic in
1191 # this function, and just call forward.
1192 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1193 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1194 return forward_call(*input, **kwargs)
1195 # Do not call functions when jit is used
1196 full_backward_hooks, non_full_backward_hooks = [], []
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch_geometric/nn/models/deep_graph_infomax.py:52, in DeepGraphInfomax.forward(self, *args, **kwargs)
49 def forward(self, *args, **kwargs) -> Tuple[Tensor, Tensor, Tensor]:
50 """Returns the latent space for the input arguments, their
51 corruptions and their summary representation."""
---> 52 pos_z = self.encoder(*args, **kwargs)
54 cor = self.corruption(*args, **kwargs)
55 cor = cor if isinstance(cor, tuple) else (cor, )
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch/nn/modules/module.py:1194, in Module._call_impl(self, *input, **kwargs)
1190 # If we don't have any hooks, we want to skip the rest of the logic in
1191 # this function, and just call forward.
1192 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1193 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1194 return forward_call(*input, **kwargs)
1195 # Do not call functions when jit is used
1196 full_backward_hooks, non_full_backward_hooks = [], []
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/cefcon/cell_lineage_GRN.py:222, in GRN_Encoder.forward(self, data)
220 for norm, attn_in, attn_out, ffn in self.layers:
221 x = norm(x)
--> 222 x_in, att_weights_in_ = attn_in(x, edge_index, x_auxiliary, return_attention_weights=True)
223 x_out, att_weights_out_ = attn_out(x, edge_index, x_auxiliary, return_attention_weights=True)
224 x = ffn(torch.cat((self.act(x_in), self.act(x_out)), 1))
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch/nn/modules/module.py:1194, in Module._call_impl(self, *input, **kwargs)
1190 # If we don't have any hooks, we want to skip the rest of the logic in
1191 # this function, and just call forward.
1192 if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
1193 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1194 return forward_call(*input, **kwargs)
1195 # Do not call functions when jit is used
1196 full_backward_hooks, non_full_backward_hooks = [], []
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/cefcon/cell_lineage_GRN.py:111, in GraphAttention_layer.forward(self, x, edge_index, x_auxiliary, return_attention_weights)
109 x_norm_l = F.normalize(x_l, p=2., dim=-1)
110 x_norm_r = F.normalize(x_r, p=2., dim=-1)
--> 111 out = self.propagate(edge_index, x=(x_l, x_r), x_norm=(x_norm_l, x_norm_r),
112 x_auxiliary=x_auxiliary, size=None)
113 else: # SD
114 out = self.propagate(edge_index, x=(x_l, x_r), x_norm=None,
115 x_auxiliary=x_auxiliary, size=None)
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch_geometric/nn/conv/message_passing.py:455, in MessagePassing.propagate(self, edge_index, size, **kwargs)
452 for arg in decomp_args:
453 kwargs[arg] = decomp_kwargs[arg][i]
--> 455 coll_dict = self._collect(self._user_args, edge_index, size,
456 kwargs)
458 msg_kwargs = self.inspector.distribute('message', coll_dict)
459 for hook in self._message_forward_pre_hooks.values():
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch_geometric/nn/conv/message_passing.py:329, in MessagePassing._collect(self, args, edge_index, size, kwargs)
327 if isinstance(data, Tensor):
328 self._set_size(size, dim, data)
--> 329 data = self._lift(data, edge_index, dim)
331 out[arg] = data
333 if is_torch_sparse_tensor(edge_index):
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch_geometric/nn/conv/message_passing.py:276, in MessagePassing._lift(self, src, edge_index, dim)
269 raise IndexError(
270 f"Encountered an index error. Please ensure that all "
271 f"indices in 'edge_index' point to valid indices in "
272 f"the interval [0, {src.size(self.node_dim) - 1}] "
273 f"(got interval "
274 f"[{int(index.min())}, {int(index.max())}])")
275 else:
--> 276 raise e
278 if index.numel() > 0 and index.min() < 0:
279 raise ValueError(
280 f"Found negative indices in 'edge_index' (got "
281 f"{index.min().item()}). Please ensure that all "
282 f"indices in 'edge_index' point to valid indices "
283 f"in the interval [0, {src.size(self.node_dim)}) in "
284 f"your node feature matrix and try again.")
File ~/run/miniconda3/envs/CEFCON/lib/python3.10/site-packages/torch_geometric/nn/conv/message_passing.py:266, in MessagePassing._lift(self, src, edge_index, dim)
264 try:
265 index = edge_index[dim]
--> 266 return src.index_select(self.node_dim, index)
267 except (IndexError, RuntimeError) as e:
268 if index.min() < 0 or index.max() >= src.size(self.node_dim):
OutOfMemoryError: CUDA out of memory. Tried to allocate 6.77 GiB (GPU 0; 23.65 GiB total capacity; 20.62 GiB already allocated; 2.49 GiB free; 20.64 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
The text was updated successfully, but these errors were encountered:
Hi ,great work!
when I run
get error like this
The text was updated successfully, but these errors were encountered: