小编Bas*_*aan的帖子

MonitoredTrainingSession每次运行写入多个元图事件

使用tf.train.MonitoredTrainingSession它编写检查点文件时会以某种方式写入多个元图.我究竟做错了什么?

我把它剥离到下面的代码:

import tensorflow as tf
global_step = tf.Variable(0, dtype=tf.int32, trainable=False, name="global_step")
train = tf.assign(global_step, global_step + 1)
saver = tf.train.Saver()
hooks = [(tf.train.CheckpointSaverHook(checkpoint_dir=output_path + "test1/ckpt/",
                                          save_steps = 10,
                                          saver = saver))]

with tf.train.MonitoredTrainingSession(master = '',
                                       is_chief = True,
                                       checkpoint_dir = None,
                                       hooks = hooks,
                                       save_checkpoint_secs = None,
                                       save_summaries_steps = None,
                                       save_summaries_secs = None) as mon_sess:
    for i in range(30):
        if mon_sess.should_stop():
            break
        try:
            gs, _ = mon_sess.run([global_step, train])
            print(gs)
        except (tf.errors.OutOfRangeError,tf.errors.CancelledError) as e:
            break
        finally:
            pass
Run Code Online (Sandbox Code Playgroud)

运行此操作将提供重复的元图,如张量板警告所示: …

python tensorflow google-cloud-ml

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

MySQL挂在ALTER TABLE上

我不太大的表挂在ALTER命令上.会是什么呢?

只有150k行,42个字段总共142 MB.InnoDB存储引擎和服务器版本:5.5.44-MariaDB MariaDB Server.1个字段'slotindex'是主键:bigint(20)和BTREE类型.

命令:

    MariaDB [mydb]> ALTER TABLE `runs` CHANGE `p_w_trans_x` `p_w_tran_x` FLOAT NOT NULL;
    Stage: 1 of 2 'copy to tmp table'   65.7% of stage done
    Stage: 2 of 2 'Enabling keys'      0% of stage done
Run Code Online (Sandbox Code Playgroud)

在这个阶段2将永远完全挂起.

进程列表如下:

MariaDB [(none)]> show full processlist;
+--------+------+-----------------+-----------+---------+-------+---------------------------------+---------------------------------------------------------------------+----------+
| Id     | User | Host            | db        | Command | Time  | State                           | Info                                                                | Progress |
+--------+------+-----------------+-----------+---------+-------+---------------------------------+---------------------------------------------------------------------+----------+
| 274226 | root | localhost:45423 | edc_proxy | Sleep   | 16043 | …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb

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

numpy NaN并不总是被认可

这让我很困惑:

```
a=np.array([1,2,np.nan,3])    # an array with a nan
print(np.isnan(a)[2])         # it truly is a nan
print(a[2])                   # it quacks like a nan
print(np.nan is np.nan)       # nan's can be compared
print(a[2] is np.nan)         # But then, this isn't a nan after all!!??

>>> True
>>> nan
>>> True
>>> False
```
Run Code Online (Sandbox Code Playgroud)

我知道我们不允许比较nan的==,但is应该被允许吗?毕竟它在比较nan与自身时有效吗?

感谢您对此处发生的任何提示.

python numpy nan

5
推荐指数
2
解决办法
936
查看次数

TensorFlow图中的条件评估

这可以通过以下方式完成tf.cond,但是它将从手册中更新图形的两个分支:

请注意,条件执行仅适用于true_fn和false_fn中定义的操作.考虑以下简单程序:

z = tf.multiply(a, b)
result = tf.cond(x < y, lambda: tf.add(x, z), lambda: tf.square(y))
Run Code Online (Sandbox Code Playgroud)

如果x < y,tf.add将执行操作并且不执行tf.square操作.由于cond的至少一个分支需要z,因此总是无条件地执行tf.multiply操作.

如何有效地执行此操作tf.multiply(即仅在何时执行x > Y)?

更具体地说,我正在尝试做什么:

var1 = tf.Variable(tf.zeros(4), trainable=False, name='var1')
update_var1 = tf.assign(var1,var1 +1)
training = tf.placeholder(tf.bool)

def f1():
  with tf.control_dependencies([update_var1]):
    return var1*1.1

def f2():
  return var1 * 1.1

final = tf.cond(training, f1, f2)
sess.run(final, feed_dict={training:False})
Run Code Online (Sandbox Code Playgroud)

每次评估final时,这将使var1增加1,无论值是什么training,问题是什么tf.cond,因为手动它可以工作:

var1 = tf.Variable(tf.zeros(4), trainable=False, name='var1')
update_var1 …
Run Code Online (Sandbox Code Playgroud)

python tensorflow

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

如何在 Python 模块中查找类或函数?

我试图gen_dataset_ops在 tensorflow 中找到函数或类的定义,它的源代码在这里。我发现很多地方都是这样导入的:

from tensorflow.python.ops import gen_dataset_ops
Run Code Online (Sandbox Code Playgroud)

但我找不到它的定义位置,我希望找到类似的东西:

def gen_dataset_ops(...):
  #Do something clever
  return
Run Code Online (Sandbox Code Playgroud)

我一般不太了解python模块的解剖结构,所以我可能在这里缺少一些基础知识,..欢迎任何提示!

python module setuptools python-packaging

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