网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月15日漏签0天
人工智能吧 关注:116,694贴子:509,246
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1回复贴,共1页
<<返回人工智能吧
>0< 加载中...

小白求助,关于tensorflow模型无法保存的问题

  • 取消只看楼主
  • 收藏

  • 回复
  • anhkcpy
  • 人脸辨识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如题,找了一个神经协调过滤的模型,但是想保存时提示自定义层什么什么的,搞不懂,没看到代码里面有什么自定义层啊
具体警告如下:
CustomMaskWarning: Custom mask layers require a config and must override get_config. When loading, the custom mask layer must be passed to the custom_objects argument. warnings.warn('Custom mask layers require a config and must override '
模型代码如下:
def get_compiled_neumf_model(num_users, num_items, lr = 0.001, mf_dim=10, layers_num=[10], reg_layers=[0], reg_mf=0):
assert len(layers_num) == len(reg_layers)
num_layer = len(layers_num) #Number of layers in the MLP
# Input variables
user_input = layers.Input(shape=(1,), dtype='int32', name='user_input')
item_input = layers.Input(shape=(1,), dtype='int32', name='item_input')
# Embedding layer
mf_embedding_user = layers.Embedding(input_dim=num_users, output_dim=mf_dim, name='mf_embedding_user',
embeddings_initializer=initializers.RandomNormal(),
embeddings_regularizer=regularizers.l2(reg_mf),
input_length=1)
mf_embedding_item = layers.Embedding(input_dim=num_items, output_dim=mf_dim, name='mf_embedding_item',
embeddings_initializer=initializers.RandomNormal(),
embeddings_regularizer=regularizers.l2(reg_mf), input_length=1)
mlp_embedding_user = layers.Embedding(input_dim=num_users, output_dim=int(layers_num[0]/2), name="mlp_embedding_user",
embeddings_initializer=initializers.RandomNormal(),
embeddings_regularizer=regularizers.l2(reg_layers[0]), input_length=1)
mlp_embedding_item = layers.Embedding(input_dim=num_items, output_dim=int(layers_num[0]/2), name='mlp_embedding_item',
embeddings_initializer=initializers.RandomNormal(),
embeddings_regularizer=regularizers.l2(reg_layers[0]), input_length=1)
# MF part
mf_user_latent = layers.Flatten()(mf_embedding_user(user_input))
mf_item_latent = layers.Flatten()(mf_embedding_item(item_input))
mf_vector = layers.multiply([mf_user_latent, mf_item_latent])
# MLP part
mlp_user_latent = layers.Flatten()(mlp_embedding_user(user_input))
mlp_item_latent = layers.Flatten()(mlp_embedding_item(item_input))
mlp_vector = layers.concatenate([mlp_user_latent, mlp_item_latent])
for idx in range(1, num_layer):
layer = layers.Dense(layers_num[idx], kernel_regularizer=regularizers.l2(reg_layers[idx]), activation='relu', name="layer%d" % idx)
mlp_vector = layer(mlp_vector)
# Concatenate MF and MLP parts
predict_vector = layers.concatenate([mf_vector, mlp_vector])
# Final prediction layer
prediction = layers.Dense(1, activation='sigmoid', kernel_initializer=initializers.lecun_normal(),
name="prediction")(predict_vector)
model_nuemf = models.Model(inputs=[user_input, item_input], outputs=prediction)
model_nuemf.compile(optimizer=optimizers.Adam(learning_rate=lr, clipnorm=0.5), loss='binary_crossentropy')
return model_nuemf
一个神经协同过滤的模型,henxiannan博士论文里的,原本代码是只保存权重,但是我想先试试能不能保存整个模型


  • anhkcpy
  • 人脸辨识
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
目前忽略警告保存后调用了一下,目前没报错,应该可以使用吧,然后贴上代码的import
from time import time
import os
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers,models
from tensorflow.keras import initializers,regularizers,optimizers
from tensorflow.python.ops import clip_ops
from tensorflow.keras.optimizers import Optimizer
import tensorflow.keras.backend as K
from Dataset import Dataset


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回人工智能吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示