小编Fil*_*lip的帖子

使用大于2GB的数组初始化tensorflow变量

我正在尝试Variable使用预先训练的word2vec嵌入来初始化张量流.

我有以下代码:

import tensorflow as tf
from gensim import models

model = models.Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
X = model.syn0

embeddings = tf.Variable(tf.random_uniform(X.shape, minval=-0.1, maxval=0.1), trainable=False)

sess.run(tf.initialize_all_variables())

sess.run(embeddings.assign(X))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ValueError: Cannot create an Operation with a NodeDef larger than 2GB.
Run Code Online (Sandbox Code Playgroud)

X我试图分配的数组()是形状(3000000, 300),其大小为3.6GB.

如果我也尝试tf.convert_to_tensor(X),我会得到同样的错误.

我知道它由于阵列大于2GB而失败.但是,我不知道如何将大于2GB的数组分配给张量流Variable

tensorflow

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

TensorFlow中的AdamOptimizer的学习率不会改变

我想看看培训期间的学习率如何变化(打印出来或创建摘要并在张量板上可视化)。

这是到目前为止的代码片段:

optimizer = tf.train.AdamOptimizer(1e-3)
grads_and_vars = optimizer.compute_gradients(loss)
train_op = optimizer.apply_gradients(grads_and_vars, global_step=global_step)

sess.run(tf.initialize_all_variables())

for i in range(0, 10000):
   sess.run(train_op)
   print sess.run(optimizer._lr_t)
Run Code Online (Sandbox Code Playgroud)

如果我运行代码,我会不断获得初始学习率(1e-3),即看不到任何变化。

如何获得每一步的学习率的正确方法是什么?

我想补充一点,这个问题确实与我的相似。但是,由于我没有足够的代表,因此无法在评论部分中发布我的发现。

tensorflow

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

从 ModelMapper 升级到 MapStruct 好不好?

目前我们在我们的项目中使用 ModelMapper。然而,在该站点中,我看到 MapStruct 有很多人喜欢。

不确定差异以及我们是否真的需要升级。

ModelMapper 和 MapStruct 之间有什么区别?

谢谢。

modelmapper mapstruct

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

Room RxJava Flowable 在插入后不发出更新

我有一项服务,每次找到新位置时都会将数据插入房间数据库。

@Override
public void onLocationUpdate(Location location) {
    final Point point = new Point();
    point.setTripId(0);
    point.setDate(new Date());
    point.setLatitude(location.getLatitude());
    point.setLongitude(location.getLongitude());

    Completable completable = Completable
            .fromAction(() -> appDataBase.pointDao().insert(point));
}
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,当我在主活动中订阅时,我没有在数据库中获取新值,它只返回一个空列表一次:

appDataBase.pointDao().getAllByTripId(0)
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(points -> Log.d("TripActivity", points.toString()));
Run Code Online (Sandbox Code Playgroud)

这是我的道:

@Dao
public interface PointDao {
    @Query("SELECT * FROM points WHERE tripId = :tripId")
    Flowable<List<Point>> getAllByTripId(int tripId);

    @Insert
    void insert(Point point);

    @Query("DELETE FROM points WHERE tripId = :tripId")
    void deleteByTripId(int tripId);
}
Run Code Online (Sandbox Code Playgroud)

我的实体:

@Entity(tableName = "points")
public class Point {

    public static final int DEFAULT_TRIP_ID = …
Run Code Online (Sandbox Code Playgroud)

android

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

RxJava 2 Flowable 是热的还是冷的?

我曾经认为 RxJava 2 的 Flowable 被设计为“热”而 Observable 被设计为“冷”。但我认为现在这是错误的 - Observable 和 Flowable 都是冷的,但可以通过例如将任一可连接变得热。这样对吗?

observable rx-java

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