240 发简信
IP属地:广东
  • 1.x是编译的时候加上--config=opt就成了,2.0我没试过,按理说应该一样吧

    TensorFlow C++ CPU 模型预测优化加速

    如下图所示,TensorFlow在移动端的上线流程常包括下面几个步骤: 固化模型->将variable转constant 剪枝->去除、合并、跳过某些节点, 量化->数据类型...

  • @公输睚信 差距还是蛮大的2-3个点,然后问下eval的时候,有没办法不够一个batch的不扔掉,标注数据很少,感觉蛮可惜

    TensorFlow 使用 tf.estimator 训练模型(预训练 ResNet-50)

    看过 TensorFlow-slim 训练 CNN 分类模型(续) 及其相关系列文章的读者应该已经感受到了 tf.contrib.slim 在训练卷积神经网络方面的极其方便之...

  • @公输睚信 这个地方的is_training参数是只表示batch_norm层是否参与训练吗?感觉我是在随机编程 :joy: 不过我现在已经通过给train_op传参数控制前面几层不参与训练了。
    再问下,我发现用导出来的模型测试验证集,发现准确率比训练过程中要差一些。这份代码有考虑batch_norm那几个local_variable的导出问题吗?也有可能是我后面给改坏了,我明儿再看看吧

    TensorFlow 使用 tf.estimator 训练模型(预训练 ResNet-50)

    看过 TensorFlow-slim 训练 CNN 分类模型(续) 及其相关系列文章的读者应该已经感受到了 tf.contrib.slim 在训练卷积神经网络方面的极其方便之...

  • :joy: 对这些高级api无语了,同一个功能好几个地方都有相关参数,一脸懵逼,在问个问题哈,我强制性这样固定参数,好像没起作用是个啥子情况
    is_training = False
    cls_model = model.Model(is_training=is_training,
    num_classes=FLAGS.num_classes)

    TensorFlow 使用 tf.estimator 训练模型(预训练 ResNet-50)

    看过 TensorFlow-slim 训练 CNN 分类模型(续) 及其相关系列文章的读者应该已经感受到了 tf.contrib.slim 在训练卷积神经网络方面的极其方便之...

  • @公输睚信 然后可以通过给Estimator传一个run_config来控制
    run_config =tf.estimator.RunConfig(model_dir=FLAGS.model_dir, save_checkpoints_steps=20)
    estimator = tf.estimator.Estimator(model_fn=create_model_fn,
    config=run_config)

    TensorFlow 使用 tf.estimator 训练模型(预训练 ResNet-50)

    看过 TensorFlow-slim 训练 CNN 分类模型(续) 及其相关系列文章的读者应该已经感受到了 tf.contrib.slim 在训练卷积神经网络方面的极其方便之...

  • @公输睚信 哈哈多谢哈,我对slim跟estimator不太熟,可能理解有问题,不过我试了下,发现这段代码没起作用,注释掉之后跟之前是一样的,还是同样的频率保存ckpt
    if mode == tf.estimator.ModeKeys.TRAIN:
    global_step = tf.train.get_or_create_global_step()
    learning_rate = configure_learning_rate(FLAGS.decay_steps,
    global_step)
    optimizer = tf.train.MomentumOptimizer(learning_rate=learning_rate,
    momentum=0.9)
    train_op = slim.learning.create_train_op(loss, optimizer,
    summarize_gradients=True)

    # keep_checkpoint_every_n_hours = FLAGS.keep_checkpoint_every_n_hours
    # saver = tf.train.Saver(
    # sharded=True,
    # keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours,
    # save_relative_paths=True)
    # tf.add_to_collection(tf.GraphKeys.SAVERS, saver)
    # scaffold = tf.train.Scaffold(saver=saver)

    TensorFlow 使用 tf.estimator 训练模型(预训练 ResNet-50)

    看过 TensorFlow-slim 训练 CNN 分类模型(续) 及其相关系列文章的读者应该已经感受到了 tf.contrib.slim 在训练卷积神经网络方面的极其方便之...

  • 大神666,学到很多,有几个问题想请教下
    1.keep_checkpoint_every_n_hours 这个参数不管怎么设置都没用,最终都是10分钟保存一次
    2.estimator的train_and_evaluate 怎么设置多少step去evaluate一次呢,这个跟keep_checkpoint的步骤有关系吗?然后能根据这个early_stop吗?
    3.所有的log总是打印两遍
    INFO:tensorflow:Running local_init_op.
    INFO:tensorflow:Running local_init_op.
    INFO:tensorflow:Done running local_init_op.
    INFO:tensorflow:Done running local_init_op.
    INFO:tensorflow:Saving checkpoints for 0 into ./training/model.ckpt.
    INFO:tensorflow:Saving checkpoints for 0 into ./training/model.ckpt.

    TensorFlow 使用 tf.estimator 训练模型(预训练 ResNet-50)

    看过 TensorFlow-slim 训练 CNN 分类模型(续) 及其相关系列文章的读者应该已经感受到了 tf.contrib.slim 在训练卷积神经网络方面的极其方便之...

  • 120
    TensorFlow C++ CPU 模型预测优化加速

    如下图所示,TensorFlow在移动端的上线流程常包括下面几个步骤: 固化模型->将variable转constant 剪枝->去除、合并、跳过某些节点, 量化->数据类型...

  • C++ GBK编码 字符切割

    为了用C++简单实现bert模型地预处理,需要将中文字符串切割成单个中文汉字,网上没有找到在GBK编码下的C++版本,于是简单地查了下资料,实现了个半成品。 GBK编码 AS...

个人介绍
一时心血来潮,试着写下周记