desc icon indicating copy to clipboard operation
desc copied to clipboard

Input contains NaN, infinity or a value too large for dtype('float32')

Open Dan-121 opened this issue 4 years ago • 0 comments

hello,you really do a good job,but i met some trouble,could ypu tell me how to fix it.and the question is as followed: ValueError Traceback (most recent call last) in ----> 1 adata=desc.train(adata, 2 dims=[adata.shape[1],64,32], 3 tol=0.005, 4 n_neighbors=10, 5 batch_size=256,

~/anaconda3/envs/R_env/lib/python3.8/site-packages/desc/models/desc.py in train(data, dims, alpha, tol, init, louvain_resolution, n_neighbors, pretrain_epochs, batch_size, activation, actincenter, drop_rate_SAE, is_stacked, use_earlyStop, use_ae_weights, save_encoder_weights, save_encoder_step, save_dir, max_iter, epochs_fit, num_Cores, num_Cores_tsne, use_GPU, GPU_id, random_seed, verbose, do_tsne, learning_rate, perplexity, do_umap, kernel_clustering) 301 print("Start to process resolution=",str(resolution)) 302 use_ae_weights=use_ae_weights if ith==0 else True --> 303 res=train_single(data=data, 304 dims=dims, 305 alpha=alpha,

~/anaconda3/envs/R_env/lib/python3.8/site-packages/desc/models/desc.py in train_single(data, dims, alpha, tol, init, louvain_resolution, n_neighbors, pretrain_epochs, batch_size, activation, actincenter, drop_rate_SAE, is_stacked, use_earlyStop, use_ae_weights, save_encoder_weights, save_encoder_step, save_dir, max_iter, epochs_fit, num_Cores, num_Cores_tsne, use_GPU, GPU_id, random_seed, verbose, do_tsne, learning_rate, perplexity, do_umap, kernel_clustering) 162 if do_tsne: 163 num_Cores_tsne=int(num_Cores_tsne) if total_cpu>int(num_Cores_tsne) else int(math.ceil(total_cpu/2)) --> 164 sc.tl.tsne(adata,use_rep="X_Embeded_z"+str(louvain_resolution),learning_rate=learning_rate,perplexity=perplexity,n_jobs=num_Cores_tsne) 165 adata.obsm["X_tsne"+str(louvain_resolution)]=adata.obsm["X_tsne"].copy() 166 print('tsne finished and added X_tsne'+str(louvain_resolution),' into the umap coordinates (adata.obsm)\n')

~/anaconda3/envs/R_env/lib/python3.8/site-packages/scanpy/tools/_tsne.py in tsne(adata, n_pcs, use_rep, perplexity, early_exaggeration, learning_rate, random_state, use_fast_tsne, n_jobs, copy) 113 tsne = TSNE(**params_sklearn) 114 logg.info(' using sklearn.manifold.TSNE with a fix by D. DeTomaso') --> 115 X_tsne = tsne.fit_transform(X) 116 # update AnnData instance 117 adata.obsm['X_tsne'] = X_tsne # annotate samples with tSNE coordinates

~/anaconda3/envs/R_env/lib/python3.8/site-packages/sklearn/manifold/t_sne.py in fit_transform(self, X, y) 889 Embedding of the training data in low-dimensional space. 890 """ --> 891 embedding = self.fit(X) 892 self.embedding = embedding 893 return self.embedding

~/anaconda3/envs/R_env/lib/python3.8/site-packages/sklearn/manifold/_t_sne.py in _fit(self, X, skip_num_points) 667 raise ValueError("'angle' must be between 0.0 - 1.0") 668 if self.method == 'barnes_hut': --> 669 X = self._validate_data(X, accept_sparse=['csr'], 670 ensure_min_samples=2, 671 dtype=[np.float32, np.float64])

~/anaconda3/envs/R_env/lib/python3.8/site-packages/sklearn/base.py in _validate_data(self, X, y, reset, validate_separately, **check_params) 418 f"requires y to be passed, but the target y is None." 419 ) --> 420 X = check_array(X, **check_params) 421 out = X 422 else:

~/anaconda3/envs/R_env/lib/python3.8/site-packages/sklearn/utils/validation.py in inner_f(*args, **kwargs) 70 FutureWarning) 71 kwargs.update({k: arg for k, arg in zip(sig.parameters, args)}) ---> 72 return f(**kwargs) 73 return inner_f 74

~/anaconda3/envs/R_env/lib/python3.8/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator) 642 643 if force_all_finite: --> 644 _assert_all_finite(array, 645 allow_nan=force_all_finite == 'allow-nan') 646

~/anaconda3/envs/R_env/lib/python3.8/site-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan, msg_dtype) 94 not allow_nan and not np.isfinite(X).all()): 95 type_err = 'infinity' if allow_nan else 'NaN, infinity' ---> 96 raise ValueError( 97 msg_err.format 98 (type_err,

ValueError: Input contains NaN, infinity or a value too large for dtype('float32').

Dan-121 avatar Nov 03 '20 05:11 Dan-121