张量流中的权重和偏差初始化

2024-04-02

我正在做一些电力负荷预测,其中我想初始化权重和偏差。我使用不同的算法计算了权重和偏差并将其保存在文件中。我想使用该文件并使用这些重量和偏差开始训练。

这是我要更新的代码。

#RNN designning
tf.reset_default_graph()

inputs = 1  #input vector size
hidden = 100    
output = 1  #output vector size

X = tf.placeholder(tf.float32, [None, num_periods, inputs])
y = tf.placeholder(tf.float32, [None, num_periods, output])


basic_cell = tf.contrib.rnn.BasicRNNCell(num_units=hidden, activation=tf.nn.relu)
rnn_output, states = tf.nn.dynamic_rnn(basic_cell, X, dtype=tf.float32)

learning_rate = 0.001   #small learning rate so we don't overshoot the minimum

stacked_rnn_output = tf.reshape(rnn_output, [-1, hidden])           #change the form into a tensor
stacked_outputs = tf.layers.dense(stacked_rnn_output, output)        #specify the type of layer (dense)
outputs = tf.reshape(stacked_outputs, [-1, num_periods, output])          #shape of results

loss = tf.reduce_mean(tf.square(outputs - y))    #define the cost function which evaluates the quality of our model
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)          #gradient descent method
training_op = optimizer.minimize(loss)          #train the result of the application of the cost_function                                 

init = tf.global_variables_initializer()           #initialize all the variables
epochs = 1000     #number of iterations or training cycles, includes both the FeedFoward and Backpropogation
mape = []

def mean_absolute_percentage_error(y_true, y_pred): 
    y_true, y_pred = np.array(y_true), np.array(y_pred)
    return np.mean(np.abs((y_true - y_pred) / y_true)) * 100

y_pred = {'NSW': [], 'QLD': [], 'SA': [], 'TAS': [], 'VIC': []}

for st in state.values():
    print("State: ", st, end='\n')
    with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
        init.run()
        for ep in range(epochs):
            sess.run(training_op, feed_dict={X: x_batches[st], y: y_batches[st]})
            if ep % 100 == 0:
                mse = loss.eval(feed_dict={X: x_batches[st], y: y_batches[st]})
                print(ep, "MSE:", mse)
        y_pred[st] = sess.run(outputs, feed_dict={X: x_batches_test[st]})
    print("\n")

我正在使用以下算法找到权重和偏差并将其保存在weights and biases作为列表的列表。

class network:
    def set_weight_bias(self, a):
        lIt = 0
        rIt = 0
        self.weights = []
        self.biases = []
        for x,y in zip(self.sizes[1:], self.sizes[:-1]):
            rIt += x*y
            self.weights.append(a[lIt:rIt].reshape((x,y)))
            lIt = rIt
        for x in self.sizes[1:]:
            rIt += x
            self.biases.append(a[lIt:rIt].reshape((x,1)))
            lIt = rIt

    ...
    """
    Cuckoo Search Optimization
    """

    def objectiveFunction(self,x):
        self.set_weight_bias(x)
        y_prime = self.feedforward(self.input)
        return sum(abs(u-v) for u,v in zip(y_prime, self.output))/x.shape[0]

    def cso(self, n, x, y, function, lb, ub, dimension, iteration, pa=0.25,
                 nest=100):
        """
        :param n: number of agents
        :param function: test function
        :param lb: lower limits for plot axes
        :param ub: upper limits for plot axes
        :param dimension: space dimension
        :param iteration: number of iterations
        :param pa: probability of cuckoo's egg detection (default value is 0.25)
        :param nest: number of nests (default value is 100)
        """
        ...

我想使用自定义权重和偏差来开始训练,而不是通过张量流随机分配权重和偏差。在张量流中如何做到这一点?


您想为 RNN Cell 还是 Dense 层设置权重?如果是 RNN 单元,您应该能够使用以下命令设置权重设置权重 https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/BasicRNNCell#set_weights方法。

如果是为了Dense https://www.tensorflow.org/api_docs/python/tf/layers/dense层,你应该能够分配一个Variable https://www.tensorflow.org/api_docs/python/tf/get_variable并使用initializer传递你的权重的论点(以及另一个关于偏差的论点)。然后,当你打电话时layers.dense,您可以将两个变量张​​量传递给kernel_initializer and bias_initializer分别为权重和偏差。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

张量流中的权重和偏差初始化 的相关文章

随机推荐

  • 谷歌登录auth2自定义范围没有openid

    我想自定义范围以仅允许 电子邮件 和 个人资料 没有 openid 因为我想让它只要求访问电子邮件和基本个人资料信息 我尝试使用元来做到这一点 或js gapi auth2 init client id xxxxxxxxx apps goo
  • 在 x86-64 中使用 32 位寄存器/指令的优点

    有时 gcc 使用 32 位寄存器 而我希望它使用 64 位寄存器 例如以下 C 代码 unsigned long long div unsigned long long a unsigned long long b return a b
  • 从 .NET 3.0 升级到 3.5:在 Web Garden 中设置为 StateServer 的站点恢复为 InProc

    设想 假设一台运行 NET 3 0 的服务器和一个在启用了 Web 花园的应用程序池中运行的 ASP NET 网站 进程数 3 web config配置如下
  • 将日期时间从 Android 发布到 WCF RESTful JSON 服务

    我正在尝试发送DateTime作为通过使用 JSON 编码的 WCF RESTful 服务公开的方法的参数 该请求如下所示 POST http IP PORT LogService json GetLogEntriesByModule HT
  • Linux 内核中的 DMA 映射和 DMA 引擎是什么?

    Linux 内核中的 DMA 映射和 DMA 引擎是什么 DMA映射API和DMA引擎API何时可以在Linux设备驱动程序中使用 任何真正的 Linux 设备驱动程序示例作为参考都会很棒 Linux 内核中的 DMA 映射和 DMA 引擎
  • 将多个 NetCDF 文件合并为时间序列多维数组 python

    我正在使用多个 netcdf 文件 在我的计算机上的文件夹中 中的数据 每个文件保存整个美国 5 年的数据 根据 x 和 y 坐标的索引引用位置 我正在尝试为多个位置 网格单元 创建一个时间序列 将 5 年周期编译为 20 年周期 这将合并
  • 以调试器友好的方式从 RAM 加载本机 C++ .dll

    问题目前仅涉及 Windows 其他操作系统目前不太相关 只需通过快速谷歌搜索 就可以从 RAM 加载本机 dll 例如有以下库 https www joachim bauch de tutorials loading a dll from
  • 如何使用 HotChocolate 和 EFCore 创建 GraphQL 部分更新

    我正在尝试使用 Entity Framework Core 和 Hot Chocolate 创建 ASP NET Core 3 1 应用程序 应用程序需要支持通过 GraphQL 创建 查询 更新和删除对象 有些字段需要有值 创建 查询和删
  • 从 Jquery AJAX 调用返回响应 [重复]

    这个问题在这里已经有答案了 我编写了一个函数 它必须检查用户名是否已被占用 现在 当我从另一个函数调用该函数时 并警告它的返回值 alert checkusernameavailable justausername 它说 未定义 我到处搜索
  • ColdFusion 在我的 Ajax 中调试输出

    如果我关闭 调试输出设置 下的第三个选项 启用请求调试输出 那么我将不再在我的应用程序中获取调试信息 ajax调用 CFCaccess remote 这很好 但我想对所有其他程序保持打开状态 并针对这一例外情况以编程方式关闭它 我放
  • SonarQube 内部 H2 数据库的默认凭据?

    我正在运行 SonarQube 5 6 1 并尝试保存我创建的视图 为此 我想看一下 Sonar 根据它自己的自述文件 用于内部嵌入式数据库的 H2 DB 我已经运行了 H2 jar 文件 并且在控制台中能够登录到虚拟数据库 如果 Sona
  • 简单(但具体)的侦听器和发送器 Python 3 DBus 示例

    我想制作一个由两部分组成的程序 一个监听者 服务器 如果你愿意的话 和一个发送者 客户端 我做了一些研究 了解到这是通过程序员调用 IPC 进程间通信 的方法来完成的 我相信您知道它的意思 我只是扩展了缩写词 以便您知道我不认为它意味着 互
  • Flutter 返回分类选项卡和项目的列表

    我是颤振新手 我正在尝试实现菜单 如本示例所示https pub dev packages scrollable list tabview https pub dev packages scrollable list tabview 我的食
  • DexArchiveBuilderException:无法处理/xxx/.gradle/caches/transforms-1/files-1.1/play-services-location-11.2.2.aar

    当我尝试编译我的项目时 我收到这个奇怪的错误 What went wrong Execution failed for task android transformClassesWithDexBuilderForProdDevelopmen
  • PostgreSQL 物化视图无法从 Python 刷新

    我在 TimescaleDB 时间序列数据的 PostgreSQL 扩展 中创建了一个物化视图 当我使用 PGAdmin 中的以下代码刷新它时 会添加最新数据 一切正常 REFRESH MATERIALIZED VIEW CONCURREN
  • 如何让车把布局在 node/hapi.js 中工作

    我无法在 hapi js 应用程序中渲染车把布局 布局渲染得很好 但部分根本不渲染 只有空白 我这样声明 var handlebars require handlebars layouts require handlebars layout
  • 最好有数百列或分成多个表?

    我正在设计一个有关机械设备运行的统计数据库 每批数据将包含数百个统计信息 因此我试图决定是创建一个包含数百列的单个表还是将其拆分为多个表 每个表都包含相关的统计信息 例如 我可以有一个表包含与故障相关的统计信息 另一张表包含与堵塞相关的统计
  • 包反向依赖检查(尤其是在 Windows 上)

    我想听听人们现在如何在 Windows 上进行反向依赖检查 使用 官方 但仍处于实验阶段的功能时tools check packages in dir 正如 Windows 上的 CRAN 存储库策略 1 所建议的那样 根据来源检查反向依赖
  • 在div内滚动大图像

    我在一个小 div 内有一个大图像 该 div 内有 4 个箭头来控制移动 右 下 左 上 箭头用于在较小的 div 内移动图像 这是JS代码 slide right click function inner img animate rig
  • 张量流中的权重和偏差初始化

    我正在做一些电力负荷预测 其中我想初始化权重和偏差 我使用不同的算法计算了权重和偏差并将其保存在文件中 我想使用该文件并使用这些重量和偏差开始训练 这是我要更新的代码 RNN designning tf reset default grap