Измените тип данных с float32 на float64 в наборе данных tensorflow - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь изменить тип данных числовых функций pos_ds с float32 на float 64, но не могу найти правильный способ, как это сделать. Какие-либо предложения. Я использую тензорный поток 2.2.

def make_ds(features, labels):
    ds = tf.data.Dataset.from_tensor_slices((dict(features), labels))#.cache()
    ds = ds.shuffle(BUFFER_SIZE).repeat()
    return ds

neg_ds = make_ds(neg_features, neg_labels)
pos_ds = make_ds(pos_features, pos_labels)

for features, label in pos_ds.take(1):
    print("Features:\n", features.values())
    print()
    print("Label: ", label.numpy())

Вывод:

Features:
dict_values([<tf.Tensor: shape=(), dtype=float32, numpy=4.89784>, <tf.Tensor: shape=(), dtype=float32, numpy=4.727388>, <tf.Tensor: shape=(), dtype=float32, numpy=4.6051702>, <tf.Tensor: shape=(), dtype=float32, numpy=4.727388>, <tf.Tensor: shape=(), dtype=float32, numpy=4.804021>, <tf.Tensor: shape=(), dtype=float32, numpy=4.882802>, <tf.Tensor: shape=(), dtype=float32, numpy=4.912655>, <tf.Tensor: shape=(), dtype=string, numpy=b'nan'>, <tf.Tensor: shape=(), dtype=string, numpy=b'nan'>, <tf.Tensor: shape=(), dtype=string, numpy=b'nan'>, <tf.Tensor: shape=(), dtype=string, numpy=b'0.0'>, <tf.Tensor: shape=(), dtype=string, numpy=b'nan'>, <tf.Tensor: shape=(), dtype=string, numpy=b'NO_DCLRD_URL'>, <tf.Tensor: shape=(), dtype=string, numpy=b'nan'>])
Label: 1

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете сначала преобразовать свойства & pos_labels в тензор перед вызовом from_tensor_slices:

features = np.zeros(2, dtype=np.float32)
features = tf.convert_to_tensor(features,dtype=tf.float64)
ds = tf.data.Dataset.from_tensor_slices([features])
...