我正在尝试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
我想看看培训期间的学习率如何变化(打印出来或创建摘要并在张量板上可视化)。
这是到目前为止的代码片段:
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),即看不到任何变化。
如何获得每一步的学习率的正确方法是什么?
我想补充一点,这个问题确实与我的相似。但是,由于我没有足够的代表,因此无法在评论部分中发布我的发现。
目前我们在我们的项目中使用 ModelMapper。然而,在该站点中,我看到 MapStruct 有很多人喜欢。
不确定差异以及我们是否真的需要升级。
ModelMapper 和 MapStruct 之间有什么区别?
谢谢。
我有一项服务,每次找到新位置时都会将数据插入房间数据库。
@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) 我曾经认为 RxJava 2 的 Flowable 被设计为“热”而 Observable 被设计为“冷”。但我认为现在这是错误的 - Observable 和 Flowable 都是冷的,但可以通过例如将任一可连接变得热。这样对吗?