ammesatyajit / VideoBERT

Using VideoBERT to tackle video prediction
116 stars 14 forks source link

AttributeError: 'MiniBatchKMeans' object has no attribute 'cluster_centers_' #4

Open harshraj32 opened 3 years ago

harshraj32 commented 3 years ago

Traceback (most recent call last): File "VideoBERT/VideoBERT/I3D/minibatch_hkmeans.py", line 30, in main() File "VideoBERT/VideoBERT/I3D/minibatch_hkmeans.py", line 26, in main hkmeans(root, prefix, 4, 12, batch_size, 15, save_dir, 'vecs', centroid_dir) File "/usr/local/lib/python3.7/dist-packages/hkmeans_minibatch/hkmeans.py", line 99, in hkmeans hkmeans_recursive(root, prefix, h, k, batch_size, epochs, save_dir, save_prefix, centroid_dir) File "/usr/local/lib/python3.7/dist-packages/hkmeans_minibatch/hkmeans.py", line 85, in hkmeans_recursive centroids, labelled_data = minibatch_kmeans(root, prefix, k, batch_size, epochs) File "/usr/local/lib/python3.7/dist-packages/hkmeans_minibatch/hkmeans.py", line 42, in minibatch_kmeans return kmeans.clustercenters, labelled_data AttributeError: 'MiniBatchKMeans' object has no attribute 'clustercenters'

the line i ran without any changes : !python3 VideoBERT/VideoBERT/I3D/minibatch_hkmeans.py -r /content/VideoBERT/VideoBERT/data/features -b 1 -s /content/VideoBERT/VideoBERT/data/kmean_vectors -c /content/VideoBERT/VideoBERT/data/centroids -p hkm

ammesatyajit commented 3 years ago

Your batch size seems to be 1. Ideally, it should be a multiple of how many vectors are in each file containing the feature vectors. This probably is the problem, since I had files with 20 vectors each, and I used a batch size of 500.

ammesatyajit commented 3 years ago

If you have a batch size of 1, the kmeans will not be able to complete because by definition it requires multiple examples to update the centroids.

harshraj32 commented 3 years ago

also should this be the output in label.json file we are creating, looks like hkmeans is predicting all zero values for the files

"QU1Y4ogmSDE": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],

chenjianqiang199526 commented 2 years ago

Has the problem been solved? I also had the same problem