小编use*_*064的帖子

仅更新Tensorflow中单词嵌入矩阵的一部分

假设我想在训练期间更新预训练的字嵌入矩阵,有没有办法只更新字嵌入矩阵的子集?

我查看了Tensorflow API页面,发现了这个:

# Create an optimizer.
opt = GradientDescentOptimizer(learning_rate=0.1)

# Compute the gradients for a list of variables.
grads_and_vars = opt.compute_gradients(loss, <list of variables>)

# grads_and_vars is a list of tuples (gradient, variable).  Do whatever you
# need to the 'gradient' part, for example cap them, etc.
capped_grads_and_vars = [(MyCapper(gv[0]), gv[1])) for gv in grads_and_vars]

# Ask the optimizer to apply the capped gradients.
opt.apply_gradients(capped_grads_and_vars)
Run Code Online (Sandbox Code Playgroud)

但是,我如何将其应用于字嵌入矩阵.假设我这样做:

word_emb = tf.Variable(0.2 * tf.random_uniform([syn0.shape[0],s['es']], minval=-1.0, maxval=1.0, dtype=tf.float32),name='word_emb',trainable=False)

gather_emb = tf.gather(word_emb,indices) #assuming that …
Run Code Online (Sandbox Code Playgroud)

tensorflow word-embedding

10
推荐指数
2
解决办法
3646
查看次数

在Mongodb/pymongo中按字符串长度排序

我想知道是否有人知道如何find()按字符串长度对mongodb 结果进行排序.

我尝试了类似db.foo.find().sort({item.lenght:-1})但显然不起作用的东西.有人可以帮助我,并建议我在pymongo做同样的事情吗?

sorting mapreduce mongodb pymongo aggregation-framework

6
推荐指数
2
解决办法
3907
查看次数

在控制器中为工厂调用服务

调用在我的控制器中使用.factory创建的服务时遇到问题.代码如下所示.工厂(app.js):

.factory('Database',function($http){

    return {

      getDatabase: function(){

        var database = {};

        $http.get('http://localhost:3001/lookup').
          success(function(data){

            database.companyInfo = data.info.companyInfo;
            });


          }).
          error(function(data){
            console.log('Error' + data);
          });

        return database;

      }
    };
  })
Run Code Online (Sandbox Code Playgroud)

控制器:

angular.module('webClientApp')
    .controller('MainCtrl', function (Database,Features,$scope,$http) {




        $scope.databaseString = [];
        $scope.quarters = ['Q1','Q2','Q3','Q4'];
        $scope.years = ['2004','2005','2006','2007','2008','2009','2010',
      '2011','2012','2013','2014'];
        $scope.features = Features.getFeatures();
        $scope.database = Database.getDatabase();

        console.log($scope.database);
Run Code Online (Sandbox Code Playgroud)

现在,当我在Firebug中检查元素时,我console.log($scope.database)在GET语句结果之前得到了打印输出.$scope.database显示为Object {}具有所有适当的礼节.但是,如果我尝试使用,console.log($scope.database.companyInfo)我得到一个undefined结果,而我应该得到data.info.companyInfo' that I passed from the数据库服务(在这种情况下是一个数组).

这里有什么问题?有人能帮我吗?(如果您需要澄清,请告诉我..)

factory angularjs

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

$scope.$watch 在选项卡内不起作用

我有一个选项卡,其中嵌入了几个选定的按钮:

<tab id="graphTab" heading="Graph">
    <div class="analyze-select centered">
            <br></br>
            <h4>Filter by period:</h4>
            From:
            <select ng-model="startQuarter" ng-options="quarter for quarter in quarters"></select>
            <select ng-model="startYear" ng-options="year for year in years"></select>
            To:
            <select ng-model="endQuarter" ng-options="quarter for quarter in quarters"></select>
            <select ng-model="endYear" ng-options="year for year in years"></select> 

            <button class="btn btn-primary" type="submit" ng-click="filterTime()">Filter</button>
    </div>
</tab>
Run Code Online (Sandbox Code Playgroud)

我的控制器如下所示:

$scope.startYear ='';
$scope.startQuarter = '';
$scope.endYear = '';
$scope.endQuarter = '';

$scope.$watch('startYear',function(){
    console.log('startYear has changed!');
});

$scope.$watch('endYear',function(){
    console.log('endYear has changed!');
});

$scope.$watch('startQuarter',function(){
    console.log('startQuarter has changed!');
});

$scope.$watch('endQuarter',function(){
    console.log('endQuarter has changed!');
}); …
Run Code Online (Sandbox Code Playgroud)

javascript controller angularjs

4
推荐指数
1
解决办法
672
查看次数