zhoushengisnoob / deepclustering Goto Github PK
View Code? Open in Web Editor NEWMethods and Implements of Deep Clustering
Methods and Implements of Deep Clustering
The GitHub code of Stable Cluster Discrimination for Deep Clustering is given under this link by the author.
Can you set up a leaderboard and appeal the community to contribute to it? I think this will be helpful, because there have already been tons of papers now, which is kindly hard for beginners to choose some of them to read. A leaderboard with clearly performance gap between different methods may be of some help. Thanks!
hi there @zhunzhong07
currently i have a task that i want to solve dealing with clustering tabular data
are you available for freelancing?
if yes, then what is your email so i can share with you more information
First, thank you for this brilliant synthesis of deep clustering algorithms!
I wonder, however, if slightly more emphasis could be given to the data types commonly seen in the clinical epidemiological/register-based context, such as categorical (including binary) data, as well as mixed categorical and continuous data, also often seen in such studies. The use of deep learning in this field is very promising, but it is not as well-compiled as deep clustering on naturally high-dimensional data such as images. In the literature, one may find recent papers focusing on this issue, e.g., the DeepTLF framework (https://doi.org/10.1007/s41060-022-00350-z) and recent breakthroughs should be highlighted. It would be very beneficial if a section could be added for these types of clustering methods in this repo.
Thanks again!
Daniil
Hi, Zhou. Awesome work. Well done.
Some more methods can be added to this list perhaps:
| Deep Embedded Clustering with Data Augmentation | DEC-DA | ACML 2018 | TensorFlow |
| Adaptive Self-paced Deep Clustering with Data Augmentation | ASPC-DA | TKDE 2019 | TensorFlow |
Additional, for DEC, there is a Keras implementation: https://github.com/XifengGuo/DEC-keras
Thanks for considering these two papers:
Mrabah, Nairouz, et al. "Deep clustering with a Dynamic Autoencoder: From reconstruction towards centroids construction." Neural Networks 130 (2020): 206-228.
Mrabah, Nairouz, et al. "Adversarial deep embedded clustering: on a better trade-off between feature randomness and feature drift." IEEE Transactions on Knowledge and Data Engineering (2020).
TypeError Traceback (most recent call last)
Cell In[1], line 9
7 sys.path.insert(0, '/home/nfs/rksantini/Dec')
8 #sys.path.insert(0, '/content/drive/My Drive/Brain MRI Images for Brain Tumor Detection/')
----> 9 import tensorflow as tf
10 from tensorflow.keras.optimizers import SGD, Adam
11 import os
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/init.py:37
34 import sys as _sys
35 import typing as _typing
---> 37 from tensorflow.python.tools import module_util as _module_util
38 from tensorflow.python.util.lazy_loader import LazyLoader as _LazyLoader
40 # Make sure code inside the TensorFlow codebase can use tf2.enabled() at import.
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/python/init.py:37
29 # We aim to keep this file minimal and ideally remove completely.
30 # If you are adding a new file with @tf_export decorators,
31 # import it in modules_with_exports.py instead.
32
33 # go/tf-wildcard-import
34 # pylint: disable=wildcard-import,g-bad-import-order,g-import-not-at-top
36 from tensorflow.python import pywrap_tensorflow as _pywrap_tensorflow
---> 37 from tensorflow.python.eager import context
39 # pylint: enable=wildcard-import
40
41 # Bring in subpackages.
42 from tensorflow.python import data
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/python/eager/context.py:28
25 from absl import logging
26 import numpy as np
---> 28 from tensorflow.core.framework import function_pb2
29 from tensorflow.core.protobuf import config_pb2
30 from tensorflow.core.protobuf import coordination_config_pb2
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/core/framework/function_pb2.py:16
11 # @@protoc_insertion_point(imports)
13 _sym_db = _symbol_database.Default()
---> 16 from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr_value_pb2
17 from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node_def_pb2
18 from tensorflow.core.framework import op_def_pb2 as tensorflow_dot_core_dot_framework_dot_op_def_pb2
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/core/framework/attr_value_pb2.py:16
11 # @@protoc_insertion_point(imports)
13 _sym_db = _symbol_database.Default()
---> 16 from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
17 from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor_shape_pb2
18 from tensorflow.core.framework import types_pb2 as tensorflow_dot_core_dot_framework_dot_types__pb2
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/core/framework/tensor_pb2.py:16
11 # @@protoc_insertion_point(imports)
13 _sym_db = _symbol_database.Default()
---> 16 from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource_handle_pb2
17 from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor_shape_pb2
18 from tensorflow.core.framework import types_pb2 as tensorflow_dot_core_dot_framework_dot_types__pb2
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/core/framework/resource_handle_pb2.py:16
11 # @@protoc_insertion_point(imports)
13 _sym_db = _symbol_database.Default()
---> 16 from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor_shape_pb2
17 from tensorflow.core.framework import types_pb2 as tensorflow_dot_core_dot_framework_dot_types__pb2
20 DESCRIPTOR = _descriptor.FileDescriptor(
21 name='tensorflow/core/framework/resource_handle.proto',
22 package='tensorflow',
(...)
26 ,
27 dependencies=[tensorflow_dot_core_dot_framework_dot_tensor_shapepb2.DESCRIPTOR,tensorflow_dot_core_dot_framework_dot_types_pb2.DESCRIPTOR,])
File /data/software/miniconda3/lib/python3.9/site-packages/tensorflow/core/framework/tensor_shape_pb2.py:36
13 _sym_db = _symbol_database.Default()
18 DESCRIPTOR = _descriptor.FileDescriptor(
19 name='tensorflow/core/framework/tensor_shape.proto',
20 package='tensorflow',
(...)
23 serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto\x12\ntensorflow"z\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x12\x14\n\x0cunknown_rank\x18\x03 \x01(\x08\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tB\x87\x01\n\x18org.tensorflow.frameworkB\x11TensorShapeProtosP\x01ZSgithub.com/tensorflow/tensorflow/tensorflow/go/core/framework/tensor_shape_go_proto\xf8\x01\x01\x62\x06proto3')
24 )
29 _TENSORSHAPEPROTO_DIM = _descriptor.Descriptor(
30 name='Dim',
31 full_name='tensorflow.TensorShapeProto.Dim',
32 filename=None,
33 file=DESCRIPTOR,
34 containing_type=None,
35 fields=[
---> 36 _descriptor.FieldDescriptor(
37 name='size', full_name='tensorflow.TensorShapeProto.Dim.size', index=0,
38 number=1, type=3, cpp_type=2, label=1,
39 has_default_value=False, default_value=0,
40 message_type=None, enum_type=None, containing_type=None,
41 is_extension=False, extension_scope=None,
42 serialized_options=None, file=DESCRIPTOR),
43 _descriptor.FieldDescriptor(
44 name='name', full_name='tensorflow.TensorShapeProto.Dim.name', index=1,
45 number=2, type=9, cpp_type=9, label=1,
46 has_default_value=False, default_value=_b("").decode('utf-8'),
47 message_type=None, enum_type=None, containing_type=None,
48 is_extension=False, extension_scope=None,
49 serialized_options=None, file=DESCRIPTOR),
50 ],
51 extensions=[
52 ],
53 nested_types=[],
54 enum_types=[
55 ],
56 serialized_options=None,
57 is_extendable=False,
58 syntax='proto3',
59 extension_ranges=[],
60 oneofs=[
61 ],
62 serialized_start=149,
63 serialized_end=182,
64 )
66 _TENSORSHAPEPROTO = _descriptor.Descriptor(
67 name='TensorShapeProto',
68 full_name='tensorflow.TensorShapeProto',
(...)
100 serialized_end=182,
101 )
103 _TENSORSHAPEPROTO_DIM.containing_type = _TENSORSHAPEPROTO
File ~/.local/lib/python3.9/site-packages/google/protobuf/descriptor.py:561, in FieldDescriptor.new(cls, name, full_name, index, number, type, cpp_type, label, default_value, message_type, enum_type, containing_type, is_extension, extension_scope, options, serialized_options, has_default_value, containing_oneof, json_name, file, create_key)
555 def new(cls, name, full_name, index, number, type, cpp_type, label,
556 default_value, message_type, enum_type, containing_type,
557 is_extension, extension_scope, options=None,
558 serialized_options=None,
559 has_default_value=True, containing_oneof=None, json_name=None,
560 file=None, create_key=None): # pylint: disable=redefined-builtin
--> 561 _message.Message._CheckCalledFromGeneratedFile()
562 if is_extension:
563 return _message.default_pool.FindExtensionByName(full_name)
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
Thanks for your awesome summary @zhoushengisnoob .
Are there any reports that implement multiple algorithms? like timm
repo in ImageNet classification.
I have an error while runing my model m it is related to CUDA
File /data/software/miniconda3/lib/python3.9/site-packages/torch/nn/modules/linear.py:114, in Linear.forward(self, input)
113 def forward(self, input: Tensor) -> Tensor:
--> 114 return F.linear(input, self.weight, self.bias)
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling cublasLtMatmul( ltHandle, computeDesc.descriptor(), &alpha_val, mat1_ptr, Adesc.descriptor(), mat2_ptr, Bdesc.descriptor(), &beta_val, result_ptr, Cdesc.descriptor(), result_ptr, Cdesc.descriptor(), &heuristicResult.algo, workspace.data_ptr(), workspaceSize, at::cuda::getCurrentCUDAStream())
0%| | 0/10 [00:00<?, ?it/s]/data/software/miniconda3/lib/python3.9/site-packages/torch/optim/lr_scheduler.py:138: UserWarning: Detected call of lr_scheduler.step()
before optimizer.step()
. In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step()
before lr_scheduler.step()
. Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
warnings.warn("Detected call of lr_scheduler.step()
before optimizer.step()
. "
The code of Homophily-Related: Adaptive Hybrid Graph Filter for Multi-View Graph Clustering has been open-sourced at this link
We have a new well-maintained PyTorch implementation for the above paper in the following link - SpectralNet - PyTorch
Improving Unsupervised Image Clustering With Robust Learning (arXiv'20) will appear in CVPR'21
Feel free to update accordingly.
Hello,
thanks for this repository and for the latest paper, very interesting!
I have a question: why, in your opinion, there are not so many applications, if any, of deep clustering, in the fluid dynamic field?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.