简体   繁体   English

python,TensorFlow和机器学习

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM