小编Dan*_*ler的帖子

如何在不破坏反向传播的情况下为 pytorch 变量分配新值?

我有一个 pytorch 变量,用作模型的可训练输入。在某些时候,我需要手动重新分配此变量中的所有值。

如何在不中断与损失函数的连接的情况下做到这一点?

假设当前值是[1.2, 3.2, 43.2],我只是想让它们变成[1,2,3].


编辑

在我问这个问题的时候,我还没有意识到 PyTorch 没有像 Tensorflow 或 Keras 那样的静态图。

在 PyTorch 中,训练循环是手动进行的,您需要在每个训练步骤中调用所有内容。(没有用于稍后提供数据的占位符 + 静态图的概念)。

因此,我们不能“破坏图形”,因为我们将使用新变量再次执行所有进一步的计算。我担心发生在 Keras 中的问题,而不是 PyTorch。

pytorch

8
推荐指数
1
解决办法
1万
查看次数

在 Windows 上使用 OpenBLAS 安装 numpy 的教程

拜托,我这里需要一盏灯。我想在 Windows 上使用一个好的 BLAS/LAPACK 库安装 numpy ,但绝对没有页面足够好地解释这个过程。看来 OpenBLAS 是一个不错且快速的选择。

目标是将“theano”与“keras”结合使用,而“theano”要求库是“动态的”,而不是静态的。(不确定我明白这意味着什么,但它会导致缓慢和内存问题

请把我当作一个完全的新手。给我一个关于如何做到这一点的分步教程!不要忘记告诉我文件应该放在“哪里”!哪些文件夹应该放在 PATH 中!我应该调用什么命令,它们的输出是什么,在哪里?我如何处理他们的结果或编译文件?numpy 如何找到它们?等等。我见过的所有网站似乎都认为我是 linux 专家并且已经知道一切。

我尝试过的:

  • 这里下载了 numpy+mkl 的编译版本-- 这确实安装了 numpy,它变得可用了,但是 theano 出现了内存泄漏问题,除了工作缓慢之外。是ldflags.theanorc文件中设置权限的问题吗?如果是这样,哪些是标志?- 关于 MKL 库,这个答案可能有用吗?

  • 尝试安装 Anaconda - 它也不起作用,我不知道出了什么问题。它给了我建议安装一些额外东西的消息,它工作但非常慢。比我上面提到的被窃听的 numpy 版本慢 10 倍以上(所以,不可接受,不可能以这种速度工作)。如果我必须更改有关 Anaconda 的所有内容,最好改用常规 Python 并了解发生了什么。

  • 发现这些已经编译的BLAS/LAPACK 库(.dll 和 .lib)文件。但是……我该怎么处理他们?-- 只需将他们的文件夹添加到PATHvar 并安装 numpy 给我“numpy-atlas”,而不是我下载的库。我如何让 numpy 看到它们?

  • 试图理解这个页面,但是,它似乎会引导我完全到上一个案例,我将如何处理结果?他们建议我使用的库在哪里?什么是建议的quickbuild脚本,它们在哪里?

  • 此处找到 Cygwin …

windows numpy lapack theano openblas

7
推荐指数
2
解决办法
6833
查看次数

如何在Google Compute Engine虚拟机上打开浏览器

如何在VM实例中打开浏览器?以及这有多安全/不安全?

实例是Ubuntu 16.04

我知道访问VM的唯一方法是通过Google在云控制台网站上提供的SSH按钮。

我想定期使用它,以可视方式显示页面并单击鼠标。(以新手的身份对待我,我在Linux和VM上都是全新的。我什至不知道还有另一种控制浏览器的方法)


内容:

I need to download a huge amount of data from websites to my virtual machine on Google Compute Engine.

I know there are solutions on the web to transfer files from my machine, but my internet really sucks, it's not feasible.

I also know there are some commands like wget using copied cookies to download some files.

Even though, I feel I'll be needing to use a browser, especially because I want …

browser virtual-machine file-transfer google-compute-engine

7
推荐指数
1
解决办法
3580
查看次数

keras中的加权mse自定义丢失函数

我正在处理时间序列数据,预计输出60天.

我目前正在使用均方误差作为我的损失函数,结果很糟糕

我想实现加权均方误差,使得早期输出比后期输出重要得多.

加权均方根公式:

加权均方根公式

所以我需要一些方法来迭代张量的元素,带有索引(因为我需要同时迭代预测值和真值,然后将结果写入只有一个元素的张量.它们都是(?,60)但真的(1,60)列表.

我正在尝试的任何东西都在起作用.这是破碎版本的代码

def weighted_mse(y_true,y_pred):
    wmse = K.cast(0.0,'float')

    size = K.shape(y_true)[0]
    for i in range(0,K.eval(size)):
        wmse += 1/(i+1)*K.square((y_true[i]-y_pred)[i])

    wmse /= K.eval(size)
    return wmse
Run Code Online (Sandbox Code Playgroud)

我目前正在收到此错误:

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'dense_2_target' with dtype float
 [[Node: dense_2_target = Placeholder[dtype=DT_FLOAT, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
Run Code Online (Sandbox Code Playgroud)

阅读了类似帖子的回复之后,我认为掩码不能完成任务,并且在一个张量中循环元素也行不通,因为我无法访问其他张量中的相应元素.

任何建议,将不胜感激

python keras tensorflow loss-function

7
推荐指数
1
解决办法
3235
查看次数

使用Keras VGG型号的预期输入范围是多少?

我正在尝试使用来自keras的预训练VGG 16.但我真的不确定输入范围应该是什么.

快速回答,这些颜色订单中的哪一个?

  • RGB
  • BGR

哪个范围?

  • 0到255?
  • 从大约-125到大约+130平衡?
  • 0到1?
  • -1比1?

我注意到定义模型的文件导入了一个输入预处理器:

from .imagenet_utils import preprocess_input
Run Code Online (Sandbox Code Playgroud)

但是这个预处理器从未在文件的其余部分中使用.

此外,当我检查此预处理器代码时,它有两种模式:caffetf(tensorflow).

每种模式都有不同的作

最后,我无法在互联网上找到一致的文档.

那么,工作的最佳范围是什么?模型权重的训练范围是多少?

python image-processing keras tensorflow vgg-net

7
推荐指数
1
解决办法
2626
查看次数

在基本抽象类中使用派生类型

好吧,我有一些从基类派生的不同类.此基类是包含commom方法的抽象.

其中一个方法是一个Copy方法,它应该出现在所有派生类中,所以,我把它放在基类中.但是,我想让它返回derived type不是基础也不是对象.

我得到的解决方案是使用类型参数:

abstract class CopyableClass<T>
{
    public abstract T Copy();
}

class DerivedClass : CopyableClass<DerivedClass>
{
    public override DerivedClass Copy()
    {
        //do what is needed for copy and return a new DerivedClass
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,这里的主要目的是

删除基类中的type参数,仍然使该方法返回相应的派生类型.


一个解决方法.

到目前为止我能做的最好的事情是以下评论之一,但它仍然使用通用参数

abstract class BaseClass
{
    //base methods not related to deriving type
}

interface ICopyable<T>
{
     T Copy();
}

class DerivedClass : BaseClass, ICopyable<DerivedClass>
{
    public DerivedClass Copy()
    {
        //do what is needed for copy and return …
Run Code Online (Sandbox Code Playgroud)

c# inheritance type-parameter

6
推荐指数
1
解决办法
7247
查看次数

如何让浏览器控制台在javascript中等待

我正在尝试创建一个单击页面按钮的脚本,等待X秒(对于发生单击的结果),然后继续.

我怎样才能做到这一点?(只有等待部分)

javascript browser console wait

6
推荐指数
1
解决办法
8738
查看次数

为什么我的ajax在Chrome扩展程序中调用同步?

我一直试图在chrome扩展中使用一些ajax.

我有一个内容脚本,应该在现有页面中添加一些html.

我试过了JQuery.get,JQuery.load而且ng-include.

所有这些都在控制台中显示一个警告,告诉我synchronous XHR已被弃用(这些不是同步的???).然后页面显示这种奇怪的行为,告诉我有些Pusher未定义,然后刷新页面并杀死我插入的div.

可能有什么不对?

示例代码 - 如果我启用第一个var txt,它可以很好地工作.如果我启用了第二个var txt(已注释),则失败.

 //this first line works perfectly
 var txt = '<div id="myNewDiv" ng-controller="myController">{{testing}}</div>'; 

//this shows the warning and a really weird behavior
//var txt = '<div id="myNewDiv" ng-controller="myController">{{testing}}<div ng-include="' + "'myhtml.html'" + '"></div></div>'; 


$('#a-certain-div-in-the-page').after(txt)

var app = angular.module('myApp', [])
    .controller('myController', function($scope) {
        $scope.testing = 'Welcome!';
    });

angular.bootstrap(document, ['myApp']);
Run Code Online (Sandbox Code Playgroud)

ajax jquery google-chrome-extension content-script angularjs

6
推荐指数
1
解决办法
345
查看次数

将静态数据(不随时间变化)添加到 LSTM 中的序列数据

我正在尝试建立一个如下图所示的模型。请看下图:

请看图片

我想在 LSTM 层中传递序列数据,在另一个前馈神经网络层中传递静态数据(血型、性别)。后来我想将它们合并。然而,我对这里的维度感到困惑。

  • 如果我的理解是正确的(如图所示),5维序列数据如何与4维静态数据合并?
  • 另外,这种结构的注意力机制有什么不同?(我在KERAS文档中发现注意力机制是一种用序列数据添加静态数据的方法)

基本上,我想添加静态数据和序列数据。任何其他建议表示赞赏。

machine-learning sequence neural-network lstm keras

6
推荐指数
1
解决办法
2785
查看次数

获取运行Windows窗体控件的应用程序

我正在制作一个Autocad Plugin运行良好的使用Windows Forms 而且我创建了一个user control (winforms)以我喜欢的任何形式复制.

问题是

从控件的代码中,我如何获得运行该控件的应用程序实例?

(可能是纯粹的winforms问题)

Coditions:

在插件中,我可以毫无问题地获得Autocad Application实例.

此用户控件意味着要在separate assembly (dll)插件应用程序中引用,因此它无法直接访问应用程序实例.


关于场景的一点解释:

有一个Main Assembly由Autocad作为插件运行.该程序集实例化了Autocad应用程序.

现在我有一些有用的表单控件来使用Autocad,它们在一个separate assembly.(那是因为我想在我喜欢的许多不同的插件中使用它们).

因此,Autocad运行main assemblymain assembly运行控件separate assembly.

为了正常工作,这些控件需要访问正在运行的Autocad应用程序main assembly.

今天我使用应用程序作为控件中的属性,我必须在使用它们之前设置它.(如果我忘记设置,则会引发异常).因为我无法控制创建者参加参赛者.

我希望控件检测其正在运行的应用程序,以便我避免这种解决方法.

c# winforms autocad-plugin

5
推荐指数
1
解决办法
2306
查看次数