【问题标题】:invalid literal for int() with base 10 Keras pad sequence具有基数 10 Keras 填充序列的 int() 的无效文字
【发布时间】:2020-03-18 21:06:47
【问题描述】:
Traceback (most recent call last):
  File "C:/Users/Lenovo/PycharmProjects/ProjetFinal/venv/turkish.py", line 45, in <module>
    sequences_matrix = sequence.pad_sequences(sequences,maxlen=max_len)
  File "C:\Users\Lenovo\PycharmProjects\ProjetFinal\venv\lib\site-packages\keras_preprocessing\sequence.py", line 96, in pad_sequences
    trunc = np.asarray(trunc, dtype=dtype)
  File "C:\Users\Lenovo\PycharmProjects\ProjetFinal\venv\lib\site-packages\numpy\core\_asarray.py", line 85, in asarray
    return array(a, dtype, copy=False, order=order)

ValueError: int() 以 10 为底的无效文字:

windows 正在加载 yapıo sonra mavi ekran iste。 simdi repair yapıyo bkalım olmazsa 凝胶大小。

【问题讨论】:

  • 请更详细地解释您的问题。截至目前查看错误时,某处代码正试图键入 cast 'ustadim onu ben de cozemedim ama 10 gune geliyom hallderiz bi sekil。这不是整数。在使用填充序列之前检查您是否已将文本转换为数字。
  • X = dft.text Y = dft.type le = LabelEncoder() Y = le.fit_transform(Y) Y = Y.reshape(-1,1) X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.15) # %% [code] max_words = 1000 max_len = 150 tok = Tokenizer(num_words=max_words) 序列 = str(X_train) 序列矩阵 = sequence.pad_sequences(sequences,maxlen=max_len) **这就是我的代码的样子我铸造了 X_Train 有 TypeError: len() of unsized object issue ** 仍在寻找答案..
  • 错误提示某些东西需要整数,而您将 'ustadim onu ben de cozemedim ama 10 gune geliyom hallderiz bi sekil.' 传递给它。

标签: keras sequence preprocessor


【解决方案1】:
X = dft.text

您直接使用带有 pad_sequence 的文本。这就是 pad_sequence 不起作用的原因

通常,每个文本都会转换为给定词汇中的数字,可以是字符或单词,具体取决于任务。 然后它可以被填充。

请参考一些教程,您可以先了解如何处理文本。

Tensorflow 教程 - 文本部分是很好的开始。 https://www.tensorflow.org/guide/keras/masking_and_padding

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2013-05-31
    • 2018-03-13
    • 1970-01-01
    • 2021-06-25
    • 2019-12-01
    • 1970-01-01
    相关资源
    最近更新 更多