簡體   English   中英

python,TensorFlow和機器學習

[英]python, TensorFlow and machine learning

我正在通過機器學習開發TensorFlow。

我陷入了步驟1步驟2

第1步:

X = X/255.0

TypeError:/:“列表”和“浮動”不支持的操作數類型

第2步:

model.add(Conv2D(64, (3,3), input_shape=X.shape[1:])

“列表”對象沒有屬性“形狀”

編輯25 / 08-2019 13:44

步驟1:X = np.array(X)

在步驟2中收到新錯誤

第2步:

層conv2d的輸入0與該層不兼容:預期ndim = 4,找到的ndim = 1。 收到的完整形狀:[無]

編輯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,)

conv2d期望輸入張量為[batch,in_height,in_width,in_channels](4維形狀),請檢查X的形狀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM