相关疑难解决方法(0)

用于读取稀疏数据的 TensorFlow 输入函数(采用 libsvm 格式)

我是 TensorFlow 的新手,并尝试使用 Estimator API 进行一些简单的分类实验。我有一个libsvm 格式的稀疏数据集。以下输入函数适用于小型数据集:

def libsvm_input_function(file):

    def input_function():

        indexes_raw = []
        indicators_raw = []
        values_raw = []
        labels_raw = []
        i=0

        for line in open(file, "r"):
            data = line.split(" ")
            label = int(data[0])
            for fea in data[1:]:
                id, value = fea.split(":")
                indexes_raw.append([i,int(id)])
                indicators_raw.append(int(1))
                values_raw.append(float(value))
            labels_raw.append(label)
            i=i+1

        indexes = tf.SparseTensor(indices=indexes_raw,
                              values=indicators_raw,
                              dense_shape=[i, num_features])

        values = tf.SparseTensor(indices=indexes_raw,
                             values=values_raw,
                             dense_shape=[i, num_features])

        labels = tf.constant(labels_raw, dtype=tf.int32)

        return {"indexes": indexes, "values": values}, labels

    return input_function
Run Code Online (Sandbox Code Playgroud)

但是,对于几 GB 大小的数据集,我收到以下错误:

ValueError:无法创建内容大于 2GB …

tensorflow

5
推荐指数
1
解决办法
1028
查看次数

标签 统计

tensorflow ×1