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