[英]python, TensorFlow and machine learning
I'm working on TensorFlow with machine learning. 我正在通过机器学习开发TensorFlow。
I got stuck in step1 and step2 我陷入了步骤1和步骤2
step1: 第1步:
X = X/255.0
TypeError: unsupported operand type(s) for /: 'list' and 'float'
TypeError:/:“列表”和“浮动”不支持的操作数类型
step2: 第2步:
model.add(Conv2D(64, (3,3), input_shape=X.shape[1:])
'list' object has no attribute 'shape'
“列表”对象没有属性“形状”
Edit 25/08-2019 13:44 编辑25 / 08-2019 13:44
Step1: X=np.array(X) 步骤1:X = np.array(X)
Got new error in step2 在步骤2中收到新错误
Step2: 第2步:
Input 0 of layer conv2d is incompatible with the layer: expected ndim=4, found ndim=1.
层conv2d的输入0与该层不兼容:预期ndim = 4,找到的ndim = 1。 Full shape received: [None]
收到的完整形状:[无]
Edit 25/08-2019 19:26 my full code: 编辑25 / 08-2019 19:26我的完整代码:
import os
os.environ["CUDA_VISIBLE_DEVICES"]="-1"
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten, Conv2D, MaxPooling2D
import pickle
import numpy as np
X = pickle.load(open("x.pickle", "rb"))
y = pickle.load(open("y.pickle", "rb"))
X = np.array(X)
X = X/255.0
#x.shape=np.array([x])
#X = np.asarray(x).shape[1:]
print(X.shape)
model = Sequential()
model.add(Conv2D(64, (3,3), input_shape=X.shape[1:]))
#model.add(Conv2D(64, (3,3), input_shape=x.shape[1:]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Conv2D(64, (3,3)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"])
model.fit(X, y, batch_size=32, epochs=1, validation_split=0.1)
X.Shape = (24946,) X.Shape =(24946,)
conv2d期望输入张量为[batch,in_height,in_width,in_channels](4维形状),请检查X的形状。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.