Naming Concatenate layer

Hi all
I am using concatenate in one of model which im using as pretrained model and then im adding few more layers which behaves like resnet connection and im using Concatenate instead of add since my earlier model also has Concatenate and new model also has Concatenate
i get this error ValueError: The name "concatenate" is used 2 times in the model. All layer names should be unique.
i tried naming concatenate using looping through layer.name but i couldn’t rename it so i tried adding
X = Concatenate(axis=-1,name="hello")([X1,X2,X3])
but i get similar error

Hi,

Can you post a code snippet of what you are doing? maybe a colab?

If you have this line of code inside a “for” loop, you would get several Concatenate layers named identically. Do not specify the name. It should be named automatically.
Or use something like:

for i in range(...):
    X = Concatenate(axis=-1, name=f"concatenate_{i}")([X1,X2,X3])
1 Like
def loadmodel(input_shape,numClass):
	Y = tf.keras.models.load_model('plainconv10sep.h5')
	
	X =  Y.layers[-2].output

	X = denseLayer(X,216)
	X = denseLayer(X,108)
	X = denseLayer(X,108)
	
	# X = Dropout(0.3)(X)

	X1 = denseLayer(X,36)

	X = denseLayer(X,216)
	X = denseLayer(X,108)	
	X = denseLayer(X,108)

	X = Dropout(0.3)(X)	
	
	X2 = denseLayer(X,36)

	X = denseLayer(X,216)
	X = denseLayer(X,108)
	
	X = denseLayer(X,108)

	X = Dropout(0.3)(X)

	X3 = denseLayer(X,108)

	X = Concatenate(axis=-1,name="hello")([X1,X2,X3])
	

	X = Dense(108)(X)
	X = Dropout(0.3)(X) 
	
	output =  Dense(numClass,name='nwop',activation='softmax')(X)
	model = Model(inputs = Y.input, outputs = output)
	print(model.summary())
	return model

this is my code and i am loading a model which already has Concatenate , so when i try to add one more concatenate i have naming issue

Just for curiosity, can you print Y.name?

input
1Conv_branch_1
1Conv_branch_2
1Conv_branch_3
1Conv_branch_1activation1_branch_1
1Conv_branch_2activation1_branch_2
1Conv_branch_3activation1_branch_3
2Conv_branch_1
2Conv_branch_2
2Conv_branch_3
2Conv_branch_1activation1_branch_1
2Conv_branch_2activation1_branch_2
2Conv_branch_3activation1_branch_3
3Conv_branch_1
3Conv_branch_2
3Conv_branch_3
3Conv_branch_1activation1_branch_1
3Conv_branch_2activation1_branch_2
3Conv_branch_3activation1_branch_3
4Conv_branch_1
4Conv_branch_2
4Conv_branch_3
4Conv_branch_1activation1_branch_1
4Conv_branch_2activation1_branch_2
4Conv_branch_3activation1_branch_3
5Conv_branch_1
5Conv_branch_2
5Conv_branch_3
5Conv_branch_1activation1_branch_1
5Conv_branch_2activation1_branch_2
5Conv_branch_3activation1_branch_3
6Conv_branch_1
6Conv_branch_2
6Conv_branch_3
6Conv_branch_1activation1_branch_1
6Conv_branch_2activation1_branch_2
6Conv_branch_3activation1_branch_3
7Conv_branch_1
7Conv_branch_2
7Conv_branch_3
7Conv_branch_1activation1_branch_1
7Conv_branch_2activation1_branch_2
7Conv_branch_3activation1_branch_3
8Conv_branch_1
8Conv_branch_2
8Conv_branch_3
8Conv_branch_1activation1_branch_1
8Conv_branch_2activation1_branch_2
8Conv_branch_3activation1_branch_3
9Conv_branch_1
9Conv_branch_2
9Conv_branch_3
9Conv_branch_1activation1_branch_1
9Conv_branch_2activation1_branch_2
9Conv_branch_3activation1_branch_3
10Conv_branch_1
10Conv_branch_2
10Conv_branch_3
10Conv_branch_1activation1_branch_1
10Conv_branch_2activation1_branch_2
10Conv_branch_3activation1_branch_3
11Conv_branch_1
11Conv_branch_2
11Conv_branch_3
11Conv_branch_1activation1_branch_1
11Conv_branch_2activation1_branch_2
11Conv_branch_3activation1_branch_3
12Conv_branch_1
12Conv_branch_2
12Conv_branch_3
12Conv_branch_1activation1_branch_1
12Conv_branch_2activation1_branch_2
12Conv_branch_3activation1_branch_3
13Conv_branch_1
13Conv_branch_2
13Conv_branch_3
13Conv_branch_1activation1_branch_1
13Conv_branch_2activation1_branch_2
13Conv_branch_3activation1_branch_3
14Conv_branch_1
14Conv_branch_2
14Conv_branch_3
14Conv_branch_1activation1_branch_1
14Conv_branch_2activation1_branch_2
14Conv_branch_3activation1_branch_3
15Conv_branch_1
15Conv_branch_2
15Conv_branch_3
15Conv_branch_1activation1_branch_1
15Conv_branch_2activation1_branch_2
15Conv_branch_3activation1_branch_3
16Conv_branch_1
16Conv_branch_2
16Conv_branch_3
16Conv_branch_1activation1_branch_1
16Conv_branch_2activation1_branch_2
16Conv_branch_3activation1_branch_3
17Conv_branch_1
17Conv_branch_2
17Conv_branch_3
17Conv_branch_1activation1_branch_1
17Conv_branch_2activation1_branch_2
17Conv_branch_3activation1_branch_3
18Conv_branch_1
18Conv_branch_2
18Conv_branch_3
18Conv_branch_1activation1_branch_1
18Conv_branch_2activation1_branch_2
18Conv_branch_3activation1_branch_3
concatenate
concatenate_1
concatenate_2
concatenate_3
concatenate_4
concatenate_5
flatten
flatten_1
flatten_2
flatten_3
flatten_4
flatten_5
dense
dense_1
dense_21
dense_22
dense_42
dense_43
dense_63
dense_64
dense_84
dense_85
dense_105
dense_106
concatenate_6
concatenate_16
concatenate_26
concatenate_36
concatenate_46
concatenate_56
dense_2
dense_3
dense_23
dense_24
dense_44
dense_45
dense_65
dense_66
dense_86
dense_87
dense_107
dense_108
concatenate_7
concatenate_17
concatenate_27
concatenate_37
concatenate_47
concatenate_57
dense_4
dense_5
dense_25
dense_26
dense_46
dense_47
dense_67
dense_68
dense_88
dense_89
dense_109
dense_110
concatenate_8
concatenate_18
concatenate_28
concatenate_38
concatenate_48
concatenate_58
dense_7
dense_8
dense_28
dense_29
dense_49
dense_50
dense_70
dense_71
dense_91
dense_92
dense_112
dense_113
concatenate_9
concatenate_19
concatenate_29
concatenate_39
concatenate_49
concatenate_59
dense_9
dense_10
dense_30
dense_31
dense_51
dense_52
dense_72
dense_73
dense_93
dense_94
dense_114
dense_115
concatenate_10
concatenate_20
concatenate_30
concatenate_40
concatenate_50
concatenate_60
dense_11
dense_12
dense_32
dense_33
dense_53
dense_54
dense_74
dense_75
dense_95
dense_96
dense_116
dense_117
concatenate_11
concatenate_21
concatenate_31
concatenate_41
concatenate_51
concatenate_61
dense_14
dense_15
dense_35
dense_36
dense_56
dense_57
dense_77
dense_78
dense_98
dense_99
dense_119
dense_120
concatenate_12
concatenate_22
concatenate_32
concatenate_42
concatenate_52
concatenate_62
dense_16
dense_17
dense_37
dense_38
dense_58
dense_59
dense_79
dense_80
dense_100
dense_101
dense_121
dense_122
concatenate_13
concatenate_23
concatenate_33
concatenate_43
concatenate_53
concatenate_63
dense_18
dense_19
dense_39
dense_40
dense_60
dense_61
dense_81
dense_82
dense_102
dense_103
dense_123
dense_124
concatenate_14
concatenate_24
concatenate_34
concatenate_44
concatenate_54
concatenate_64
dense_6
dense_13
dense_20
dense_27
dense_34
dense_41
dense_48
dense_55
dense_62
dense_69
dense_76
dense_83
dense_90
dense_97
dense_104
dense_111
dense_118
dense_125
concatenate_15
concatenate_25
concatenate_35
concatenate_45
concatenate_55
concatenate_65
concatenate_66

these are the names in model Y

thanks for everyone when i used concatenate(axis=-1,name=“somename”) it worked

2 Likes