源代码:
import tensorflow as tf
from tensorflow import keras
def Concat_net(x1,x2,model):
input_1 = model.predict(x1)
input_2 = model.predict(x2)
concat = tf.keras.layers.concatenate([input_1,input_2])
fc7 = tf.keras.layers.Dense(4096,activation='relu')(concat)
fc8 = tf.keras.layers.Dense(4096,activation='relu')(fc7)
fc9 = tf.keras.layers.Dense(8,activation='softmax')(fc8)
C = fc9
return C
def final_net(inputshape,model):
inputs_1 = tf.keras.layers.Input(shape=inputshape)
inputs_2 = tf.keras.layers.Input(shape=inputshape)
outputs = Concat_net(inputs_1, inputs_2, model)
model = tf.keras.Model([inputs_1,inputs_2],outputs,name='concat_NET')
return model
Alex_net = keras.Sequential([
keras.layers.Conv2D(96,(11,11),activation='relu',strides=(4,4)),
keras.layers.MaxPooling2D((3,3),strides=(2,2)),
keras.layers.Conv2D(256,(5,5),activation='relu',padding='same'),
keras.layers.MaxPooling2D((3,3),strides=(2,2)),
keras.layers.Conv2D(384,(3,3),activation='relu',padding='same'),
keras.layers.Conv2D(384,(3,3),activation='relu',padding='same'),
keras.layers.Conv2D(256,(3,3),activation='relu',padding='same'),
keras.layers.MaxPooling2D((3,3),strides=(2,2)),
keras.layers.Dense(4096,activation='relu')
])
inputshape=(96,96,3)
F=final_net(inputshape,Alex_net)
F.summary()
错误:
Traceback (most recent call last):
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\IPython\core\interactiveshell.py", line 3417, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-efcb3421ca7e>", line 1, in <module>
runfile('D:/pyth/pj4/_testfile.py', wdir='D:/pyth/pj4')
File "D:\Program Files\JetBrains\PyCharm 2020.2.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "D:\Program Files\JetBrains\PyCharm 2020.2.1\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/pyth/pj4/_testfile.py", line 99, in <module>
F = final_net(inputshape, Alex_net)
File "D:/pyth/pj4/_testfile.py", line 82, in final_net
outputs = Concat_net(inputs_1, inputs_2, model)
File "D:/pyth/pj4/_testfile.py", line 69, in Concat_net
input_1 = model.predict(x1)
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 1013, in predict
use_multiprocessing=use_multiprocessing)
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 498, in predict
workers=workers, use_multiprocessing=use_multiprocessing, **kwargs)
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 426, in _model_iteration
use_multiprocessing=use_multiprocessing)
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 706, in _process_inputs
use_multiprocessing=use_multiprocessing)
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\data_adapter.py", line 264, in __init__
num_samples = set(int(i.shape[0]) for i in nest.flatten(inputs))
File "D:\ProgramData\Anaconda3\envs\kingtf2\lib\site-packages\tensorflow_core\python\keras\engine\data_adapter.py", line 264, in <genexpr>
num_samples = set(int(i.shape[0]) for i in nest.flatten(inputs))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
代码来源:https://ask.csdn.net/questions/1068807