Project Server 2007 安装配置指南

需积分: 9 0 下载量 58 浏览量 更新于2024-07-29 收藏 1.78MB PDF 举报
"该资源是关于配置Project Server 2007的详细步骤说明,由一系列屏幕截图组成,包括从安装.NET Framework 3.0到配置Project Server 2007,再到安装Project Professional 2007和设置服务器账户。整个过程分为四个阶段:阶段1是.NET Framework 3.0的安装,阶段2是Project Server 2007的安装,阶段3是Project Server 2007的配置,阶段4是Project Professional 2007的安装和服务器账户配置。" 在配置Project Server 2007的过程中,首先需要启动配置Web界面,并选择相应的服务配置模式,例如"小型服务器场的单一服务器或Web服务器"。接着,要启动Windows SharePoint Services搜索服务,并提供必要的账户和数据库信息。然后,启动Project应用程序服务。在配置完成后,确保所有必需的服务都已经启动。 接下来,需要在应用程序管理选项卡中创建或配置共享服务。这涉及到创建新的Web应用程序,并填写相关的应用程序信息,如URL、托管账户和数据库信息。在完成这些步骤后,系统会进行共享服务的配置,要求输入额外的配置信息,如服务器场的详细设置。一旦所有配置都成功执行,系统会显示一个成功的提示界面,表明共享服务已成功配置。 在整个配置过程中,特别需要注意的是账户的安全性和权限设置,以及数据库连接的正确性,因为这些是Project Server 2007正常运行的关键。同时,正确配置Web应用程序的设置对于确保Project Professional 2007能够与Project Server 2007无缝集成也至关重要。 此外,理解每个阶段的目标和任务对于后续的维护和问题排查非常有帮助。例如,如果在项目管理中遇到问题,可能需要回溯到配置步骤来检查是否所有的服务都已启动,或者共享服务配置是否正确。因此,这个详细的配置指南不仅是安装Project Server 2007时的重要参考,也是解决可能出现问题的宝贵资源。

帮我给每一行代码添加注释 class DeepKalmanFilter(nn.Module): def __init__(self, config): super(DeepKalmanFilter, self).__init__() self.emitter = Emitter(config.z_dim, config.emit_hidden_dim, config.obs_dim) self.transition = Transition(config.z_dim, config.trans_hidden_dim) self.posterior = Posterior( config.z_dim, config.post_hidden_dim, config.obs_dim ) self.z_q_0 = nn.Parameter(torch.zeros(config.z_dim)) self.emit_log_sigma = nn.Parameter(config.emit_log_sigma * torch.ones(config.obs_dim)) self.config = config @staticmethod def reparametrization(mu, sig): return mu + torch.randn_like(sig) * sig @staticmethod def kl_div(mu0, sig0, mu1, sig1): return -0.5 * torch.sum(1 - 2 * sig1.log() + 2 * sig0.log() - (mu1 - mu0).pow(2) / sig1.pow(2) - (sig0 / sig1).pow(2)) def loss(self, obs): time_step = obs.size(1) batch_size = obs.size(0) overshoot_len = self.config.overshooting kl = torch.Tensor([0]).to(self.config.device) reconstruction = torch.Tensor([0]).to(self.config.device) emit_sig = self.emit_log_sigma.exp() for s in range(self.config.sampling_num): z_q_t = self.z_q_0.expand((batch_size, self.config.z_dim)) for t in range(time_step): trans_loc, trans_sig = self.transition(z_q_t) post_loc, post_sig = self.posterior(trans_loc, trans_sig, obs[:, t]) z_q_t = self.reparametrization(post_loc, post_sig) emit_loc = self.emitter(z_q_t) reconstruction += ((emit_loc - obs[:, t]).pow(2).sum(dim=0) / 2 / emit_sig + self.emit_log_sigma * batch_size / 2).sum() if t > 0: over_loc, over_sig = self.transition(overshooting[:overshoot_len - 1]) over_loc = torch.cat([trans_loc.unsqueeze(0), over_loc], dim=0) over_sig = torch.cat([trans_sig.unsqueeze(0), over_sig], dim=0) else: over_loc = trans_loc.unsqueeze(0) over_sig = trans_sig.unsqueeze(0) overshooting = self.reparametrization(over_loc, over_sig) kl = kl + self.kl_div(post_loc.expand_as(over_loc), post_sig.expand_as(over_sig), over_loc, over_sig) / min(t + 1, self.config.overshooting) reconstruction = reconstruction / self.config.sampling_num kl = kl / self.config.sampling_num return reconstruction, kl

2023-02-22 上传