python快速聚类法_python-3.x – TensorFlow中更快的K-Means聚类

这篇博客探讨了在TensorFlow中使用K-Means聚类时,如何提高CPU利用率并可能将计算转移到GPU以加速训练过程。作者分享了一个Python3的训练脚本,并询问社区关于优化K-Means聚类算法的方法。
摘要由CSDN通过智能技术生成

亲爱的TensorFlow社区,

但是,我的4个CPU内核的使用率持续达到35%左右.

K-Means是否为CPU编写的内容比GPU更多?

有没有办法可以将更多的计算转移到GPU,或者一些

加快培训的其他方法?

下面是我的训练脚本(Python3).

感谢您的时间.

import tensorflow as tf

def parser(record):

features={

'feats': tf.FixedLenFeature([], tf.string),

}

parsed = tf.parse_single_example(record, features)

feats = tf.convert_to_tensor(tf.decode_raw(parsed['feats'], tf.float64))

return {'feats': feats}

def my_input_fn(tfrecords_path):

dataset = (

tf.data.TFRecordDataset(tfrecords_path)

.map(parser)

.batch(1024)

)

iterator = dataset.make_one_shot_iterator()

batch_feats = iterator.get_next()

return batch_feats

### SPEC FUNCTIONS ###

train_spec_kmeans = tf.estimator.TrainSpec(input_fn = lambda: my_input_fn('/home/ubuntu/train.tfrecords') , max_steps=10000)

eval_spec_kmeans = tf.estimator.EvalSpec(input_fn = lambda: my_input_fn('/home/ubuntu/eval.tfrecords') )

### INIT ESTIMATOR ###

KMeansEstimator = tf.contrib.factorization.KMeansClustering(

num_clusters=500,

feature_columns = [tf.feature_column.numeric_column(

key='feats',

dtype=tf.float64,

shape=(377,),

)],

use_mini_batch=True)

### TRAIN & EVAL ###

tf.estimator.train_and_evaluate(KMeansEstimator, train_spec_kmeans, eval_spec_kmeans)

最好,

玩笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值