_.get(config, 'params', {})
时间: 2024-01-22 07:02:43 浏览: 21
这是一个使用 Lodash 库的方法。它会从 `config` 对象中获取名为 `params` 的属性,如果该属性不存在,则返回一个空对象 `{}`。`_.get()` 方法的第一个参数是要获取属性的对象,第二个参数则是属性的名称和可选的默认值。如果属性不存在,则会返回默认值或者 `undefined`。
相关问题
代码解读: cnn = model.CNN(img_size=config.img_size, num_class=num_class).to(device) cnn.load_state_dict( torch.load(os.path.join(config.model_path, config.model_name)) ) finalconv_name = 'conv' # hook feature_blobs = [] def hook_feature(module, input, output): feature_blobs.append(output.cpu().data.numpy()) cnn._modules.get(finalconv_name).register_forward_hook(hook_feature) params = list(cnn.parameters()) # get weight only from the last layer(linear) weight_softmax = np.squeeze(params[-2].cpu().data.numpy())
这段代码主要是加载一个预训练的卷积神经网络模型,并获取模型的最后一层的权重。
首先,代码通过调用 `model.CNN` 函数创建一个名为 `cnn` 的卷积神经网络模型,并将模型移动到指定的设备上。其输入图像的尺寸是 `config.img_size`,输出类别数目为 `num_class`。
接下来,代码通过调用 `torch.load` 函数加载预训练模型的参数,并使用 `load_state_dict` 函数将参数加载到 `cnn` 模型中。
然后,代码定义了一个名为 `finalconv_name` 的字符串变量,用于指定模型中最后一层的名称。通过使用 `register_forward_hook` 函数,代码将 `hook_feature` 函数注册到模型的最后一层中,以便在前向传递期间获取该层的输出。
最后,代码获取模型的所有参数,并从最后一层的权重中提取出一个名为 `weight_softmax` 的 numpy 数组,该数组将用于后续的可视化操作。具体来说,它从 `params` 列表中获取最后一层的参数,并使用 `np.squeeze` 函数将其转换为一个一维数组。
def huiyuanchongzhi_save(request): ''' 后台新增 ''' if request.method in ["POST", "GET"]: msg = {"code": normal_code, "msg": mes.normal_code, "data": {}} req_dict = request.session.get("req_dict") if 'clicktime' in req_dict.keys(): del req_dict['clicktime'] tablename=request.session.get("tablename") __isAdmin__ = None allModels = apps.get_app_config('main').get_models() for m in allModels: if m.__tablename__==tablename: try: __isAdmin__ = m.__isAdmin__ except: __isAdmin__ = None break #获取全部列名 columns= huiyuanchongzhi.getallcolumn( huiyuanchongzhi, huiyuanchongzhi) if tablename!='users' and req_dict.get("userid")!=None and 'userid' in columns and __isAdmin__!='是': params=request.session.get("params") req_dict['userid']=params.get('id') if 'addtime' in req_dict.keys(): del req_dict['addtime'] error= huiyuanchongzhi.createbyreq(huiyuanchongzhi,huiyuanchongzhi, req_dict) if error!=None: msg['code'] = crud_error_code msg['msg'] = error return JsonResponse(msg)
这段代码是一个 Django 后台新增功能的视图函数。它接收一个 HTTP 请求,如果请求方法是 POST 或 GET,就会创建一个空的字典 msg 作为响应,然后从 session 中获取请求参数 req_dict 和表名 tablename。接下来,通过 Django 的 apps.get_app_config 函数获取当前应用程序中的所有模型,再通过循环找到与 tablename 对应的模型,并从模型中获取是否为管理员的信息 __isAdmin__。然后,通过调用 huiyuanchongzhi 模型的 getallcolumn 函数获取该模型的所有列名,并检查当前用户是否为管理员或者该表不存在用户id列。如果不是管理员或不存在用户id列,则从 session 中获取参数 params 并将其添加到请求字典中。最后,它调用 huiyuanchongzhi 模型的 createbyreq 函数将请求字典中的数据保存到数据库中,并将保存结果添加到响应字典中并返回。