ValueError:无法将字符串转换为浮点数-python

时间:2019-05-27 16:24:08

标签: python tensorflow machine-learning

我是 ML 的新手。我创建了一个带有一些图像的数据集以进行数字识别。我想训练我的模型,但拟合时出现错误。

我尝试对numpy数组的网址进行编码,但是它不起作用:

le = preprocessing.LabelEncoder()
urls = le.fit_transform(urls) 
import json
import json_lines
import numpy as np
from sklearn.model_selection import train_test_split
import tensorflow as tf
from sklearn import preprocessing
import sklearn

urls=[]
labels =[]

with open('Digits_file.json') as file1:
    lis = []
    for i in json_lines.reader(file1):
        lis.append(i)

for i in lis:
    urls.append(i['content'])
    labels.append([i['annotation']['labels'][0]])

urls = np.array(urls)
labels = np.array(labels) 

x_train, x_test, y_train, y_test = train_test_split(urls, labels, test_size=0.2)


model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=[98,98]))
model.add(tf.keras.layers.Dense(128, activation="relu"))
model.add(tf.keras.layers.Dense(10, activation="softmax"))

model.compile(
    loss="sparse_categorical_crossentropy",
    optimizer="adam",
    metrics=["accuracy"]
)

model.fit(x_train, y_train, epochs=5)

我得到了错误:

  

ValueError跟踪(最近一次通话最近)    在   ----> 1个模型.fit(x_train,y_train,epochs = 1)   ValueError:无法将字符串转换为浮点型:'http://com.dataturks.a96-i23.open.s3.amazonaws.com/2c9fafb06abf8f13016aea188d5c036c/c0e1ad90-fec9-4609-b6d8-65b7efb5263c___0001_CH4M_0_number-25.png'

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

首先,字符串数据可以是x_train数据。

您应该识别要学习的数据。
从您的代码看来,您似乎想学习minkube docker-env的{​​{1}}或annotation
我认为label是自然语言。

对于基本的NLP(自然语言处理),我们应该执行识别过程。 我从其他答案中得到了一些好的答案。请参考。 https://datascience.stackexchange.com/questions/12695/machine-learning-identification-and-classification-based-on-string-contents-ge

而且,如果训练数据是图像,则需要其他预处理。我从其他答案中得到了一些好的答案。 https://datascience.stackexchange.com/questions/5224/how-to-prepare-augment-images-for-neural-network