我训练了一个 PointNet 回归模型,然后保存了它的权重
model.save_weights('/home/rev9ai/aleef/Dainsta/model/beta_v0.weights.ckpt')
保存的文件是
现在我想使用这些权重更新基本 PointNet 模型 以下是使用 Tensorflow 构建模型的方式:
# Define the PointNet architecture for regression
def build_pointnet_regression_model(num_points=2048):
inputs = keras.Input(shape=(num_points, 3))
x = tnet(inputs, 3)
x = conv_bn(x, 32)
x = conv_bn(x, 32)
x = tnet(x, 32)
x = conv_bn(x, 32)
x = conv_bn(x, 64)
x = conv_bn(x, 64) #additional
x = conv_bn(x, 64) #additional
x = conv_bn(x, 512)
x = layers.GlobalMaxPooling1D()(x)
x = dense_bn(x, 256)
# x = layers.Dropout(0.3)(x)
# x = dense_bn(x, 128)
# x = layers.Dropout(0.3)(x)
# Regression output layer
outputs = layers.Dense(1, activation="relu")(x)
model = keras.Model(inputs=inputs, outputs=outputs, name="pointnet_regression")
return model
# Create the PointNet regression model
model = build_pointnet_regression_model(NUM_POINTS)
# Compile the model for regression
model.compile(
loss="mean_absolute_error",
optimizer=keras.optimizers.RMSprop(learning_rate=0.1),
metrics=["mean_absolute_error"],
)
model.load_weights('location/to/weights.ckpt')