Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
Arrays Keras:UnboundLocalError:局部变量';数组';作业前参考,如何解决_Arrays_Pandas_Tensorflow_Deep Learning_Keras - Fatal编程技术网

Arrays Keras:UnboundLocalError:局部变量';数组';作业前参考,如何解决

Arrays Keras:UnboundLocalError:局部变量';数组';作业前参考,如何解决,arrays,pandas,tensorflow,deep-learning,keras,Arrays,Pandas,Tensorflow,Deep Learning,Keras,我得到以下错误: import pandas as pd import numpy as np df_train=pd.read_csv('train_titanic.csv') df_test=pd.read_csv('test_titanic.csv') df_train.drop(['PassengerId','Name','Ticket','Cabin'],inplace=True,axis=1) df_test.drop(['PassengerId','Name','Ticket'

我得到以下错误:

import pandas as pd
import numpy as np

df_train=pd.read_csv('train_titanic.csv')
df_test=pd.read_csv('test_titanic.csv')

df_train.drop(['PassengerId','Name','Ticket','Cabin'],inplace=True,axis=1)
df_test.drop(['PassengerId','Name','Ticket','Cabin'],inplace=True,axis=1)

df_train=pd.concat([df_train,pd.get_dummies(df_train.Sex),pd.get_dummies(df_train.Pclass),pd.get_dummies(df_train.Embarked)],axis=1)
df_test=pd.concat([df_test,pd.get_dummies(df_test.Sex),pd.get_dummies(df_test.Pclass),pd.get_dummies(df_test.Embarked)],axis=1)

df_train.drop(['Sex','Pclass','Embarked','male',3,'S'],axis=1,inplace=True)
df_test.drop(['Sex','Pclass','Embarked','male',3,'S'],axis=1,inplace=True)

df_train.fillna(df_train.mean(),inplace=True)
df_test.fillna(df_test.mean(),inplace=True)

y_train=df_train.iloc[:,0]
X_train=df_train.iloc[:,1:]

def make_model():
    from keras.models import Sequential
    from keras.layers import Dense

    model=Sequential()
    model.add(Dense(10,activation='relu',input_shape=(9,)))
    model.add((Dense(5,activation='relu')))
    model.add((Dense(1,activation='sigmoid')))
    model.compile('adam',loss='binary_crossentropy',metrics=['accuracy'])
    return model

model=make_model()
model.fit(X_train,y_train,batch_size=32,epochs=10)
前面的问题都没有任何帮助。是虫子吗?我怎样才能避开它?在这个错误中它指的是哪个数组?

我不得不改变这个

~\Anaconda3\lib\site-packages\keras\models.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, **kwargs)
    891                               class_weight=class_weight,
    892                               sample_weight=sample_weight,
--> 893                               initial_epoch=initial_epoch)
    894 
    895     def evaluate(self, x, y, batch_size=32, verbose=1,

~\Anaconda3\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
   1553             class_weight=class_weight,
   1554             check_batch_axis=False,
-> 1555             batch_size=batch_size)
   1556         # Prepare validation data.
   1557         do_validation = False

~\Anaconda3\lib\site-packages\keras\engine\training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_batch_axis, batch_size)
   1407                                     self._feed_input_shapes,
   1408                                     check_batch_axis=False,
-> 1409                                     exception_prefix='input')
   1410         y = _standardize_input_data(y, self._feed_output_names,
   1411                                     output_shapes,

~\Anaconda3\lib\site-packages\keras\engine\training.py in _standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
    124     # Make arrays at least 2D.
    125     for i in range(len(names)):
--> 126         array = arrays[i]
    127         if len(array.shape) == 1:
    128             array = np.expand_dims(array, 1)

UnboundLocalError: local variable 'arrays' referenced before assignment
对此

model.fit(X_train,y_train,batch_size=32,epochs=10)

我在一个带有Ubuntu:16.04图像的docker容器上也犯了同样的错误。 升级pip时会出现错误

model.fit(X_train.values,y_train.values,batch_size=32,epochs=10)
当我评论这一行时,tensorflow和keras运行得很好:D

这是我的文件

RUN pip install --upgrade pip

您需要传递一个numpy数组。在第一种情况下,它是一个数据帧,而在第二种情况下,它是一个numpy数组。好的。但是在SkLearn中,我们可以发送其中任何一个ryt?
FROM ubuntu:16.04
RUN \
    apt-get update && \
    apt-get install -y python python-dev python-pip python-virtualenv && \
    rm -rf /var/lib/apt/lists/*
RUN mkdir /src
WORKDIR /src
# RUN pip install --upgrade pip
RUN pip install Werkzeug Flask numpy Keras gevent pillow h5py tensorflow
ADD requirements.txt ./
RUN pip install -r requirements.txt