Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow ';str';对象没有属性'_keras#u面具';使用tf.keras.Sequential时出错 背景_Tensorflow_Keras_Deep Learning - Fatal编程技术网

Tensorflow ';str';对象没有属性'_keras#u面具';使用tf.keras.Sequential时出错 背景

Tensorflow ';str';对象没有属性'_keras#u面具';使用tf.keras.Sequential时出错 背景,tensorflow,keras,deep-learning,Tensorflow,Keras,Deep Learning,我第一次使用Tensorflow,这是在一个关于新的Google Recommenders软件包特性化的教程之后: 我把他们的数据集(MovieLens)换成一个基于Kaggle葡萄酒数据的数据集时遇到了麻烦。以下代码按预期工作: wine_title_lookup= tf.keras.layers.experimental.preprocessing.StringLookup() 伊塔夫斯克莱茵河雷司令 但是,以下操作会产生一个错误 wine_title_model = tf.keras.

我第一次使用Tensorflow,这是在一个关于新的Google Recommenders软件包特性化的教程之后:

我把他们的数据集(MovieLens)换成一个基于Kaggle葡萄酒数据的数据集时遇到了麻烦。以下代码按预期工作:

wine_title_lookup= tf.keras.layers.experimental.preprocessing.StringLookup()
伊塔夫斯克莱茵河雷司令

但是,以下操作会产生一个错误

wine_title_model = tf.keras.Sequential([wine_title_lookup, wine_title_embedding])

wine_title_model(["Susana Balbo Signature Malbec"])

AttributeError回溯(最近一次呼叫上次) 在() ---->1款葡萄酒名称型号([“Susana Balbo签名马尔贝克”])

3帧 /调用中的usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer.py(self,*args,**kwargs) 983 984带操作。启用自动转换变量(自计算类型对象): -->985输出=呼叫(输入,*args,**kwargs) 986 987如果自活动正则化器:

/调用中的usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/sequential.py(self、输入、训练、掩码) 370如果不是自建的: 371自初始化图网络(自输入、自输出) -->372返回超级(顺序,自)。调用(输入,训练=训练,掩码=掩码) 373 374输出=输入#处理self.layers为空的拐角情况

/调用中的usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/functional.py(self、input、training、mask) 384 """ 385返回自运行内部图( -->386输入,训练=训练,掩码=掩码) 387 388 def计算输出形状(自身、输入形状):

/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/functional.py in\u run\u internal\u图(自我、输入、训练、掩码) 482掩模=自。\展平\u至\u参考\u输入(掩模) 483对于输入,在zip中屏蔽(输入,屏蔽): -->484输入\u t.\u keras\u掩码=掩码 485 486#字典映射参考张量到计算张量

AttributeError:“str”对象没有属性“\u keras\u mask”

与源材料的显著差异 我基于脚本编写的Google代码使用了一种我不熟悉的数据格式,允许他们在数据上运行map。我尝试将数据转换为一些tensorflow格式,但似乎无法复制它们的功能。然而,这是唯一不同的一步,我无法理解为什么操作序列的各个部分可以独立工作个别地,但不是作为一个整体

我看了一些其他的例子,当这个错误突然出现时,但没有找到解决问题的方法。这就是原始数据的样子

wine_train.info()

Int64Index:108655个条目,0到120727
数据列(共16列):
列非空计数数据类型
---  ------               --------------   -----  
0国家/地区108600非空对象
1说明108652非空对象
2名称77150非空对象
3分108336非空浮点64
4价格100871非空浮动64
5省108600非空对象
6区域_1 108655非空对象
7区域_2 42442非空对象
8标题108655非空对象
9.108655非空对象
10 winery 108655非空对象
11指定\u替换108655非空对象
12用户id 108655非空int64
13价格为108655非空布尔
14价格估算108650非空浮动64
15 wine_id 108655非空int64
数据类型:bool(1)、float64(3)、int64(2)、object(10)
内存使用率:13.4+MB

我通过修复代码的以下区域解决了这个问题

  • 将wine_train转换为Tensorflow格式
  • 当我发布这个问题时,我已经尝试在我的pandas数据框上运行
    tf.data.Dataset.from_tensor_slices
    。但是它不会工作。相反,将数据框转换为字典,如下所示:
    wine\u features\u dict={name:np.array(value)for name,value in wine\u train.items()}
    ,然后一切都顺利运行

  • Tensorflow对缺失值或NaN值非常敏感。

  • 我以为我得到了一切,但删除所有丢失数据的行似乎可以消除错误。如果发生这种情况,请确保没有丢失数据,并且所有数据都是整数或字符串。

    我通过修复代码的以下区域解决了此问题

  • 将wine_train转换为Tensorflow格式
  • 当我发布这个问题时,我已经尝试在我的pandas数据框上运行
    tf.data.Dataset.from_tensor_slices
    。但是它不会工作。相反,将数据框转换为字典,如下所示:
    wine\u features\u dict={name:np.array(value)for name,value in wine\u train.items()}
    ,然后一切都顺利运行

  • Tensorflow对缺失值或NaN值非常敏感。
  • 我以为我得到了一切,但删除所有丢失数据的行似乎可以消除错误。如果发生这种情况,请确保没有丢失数据,并且所有数据都是整数或字符串

    x= wine_title_lookup(["Susana Balbo Signature Malbec"])
    
    x= wine_title_embedding(x)
    
    x
    
    wine_title_model = tf.keras.Sequential([wine_title_lookup, wine_title_embedding])
    
    wine_title_model(["Susana Balbo Signature Malbec"])
    
    wine_train.info()
    
    <class 'pandas.core.frame.DataFrame'>
    Int64Index: 108655 entries, 0 to 120727
    Data columns (total 16 columns):
        Column               Non-Null Count   Dtype  
    ---  ------               --------------   -----  
     0   country              108600 non-null  object 
     1   description          108652 non-null  object 
     2   designation          77150 non-null   object 
     3   points               108336 non-null  float64
     4   price                100871 non-null  float64
     5   province             108600 non-null  object 
     6   region_1             108655 non-null  object 
     7   region_2             42442 non-null   object 
     8   title                108655 non-null  object 
     9   variety              108655 non-null  object 
     10  winery               108655 non-null  object 
     11  designation_replace  108655 non-null  object 
     12  user_id              108655 non-null  int64  
     13  price_isna           108655 non-null  bool   
     14  price_imputed        108650 non-null  float64
     15  wine_id              108655 non-null  int64  
    dtypes: bool(1), float64(3), int64(2), object(10)
    memory usage: 13.4+ MB