我正在努力使以下代码正常工作。它一直在进行伯努利试验,直到获得成功为止。
# JMH version: 1.20
# VM version: JDK 1.8.0_192, VM 25.192-b12
# Benchmark: bench.Toggle.alwaysFalse
# Run progress: 0,00% complete, ETA 00:01:00
# Fork: 1 of 1
# Warmup Iteration 1: 3,875 ns/op
# Warmup Iteration 2: 3,369 ns/op
# Warmup Iteration 3: 2,699 ns/op
# Warmup Iteration 4: 2,696 ns/op
# Warmup Iteration 5: 2,703 ns/op
Iteration 1: 2,697 ns/op
Iteration 2: 2,696 ns/op
Iteration 3: 2,696 ns/op
Iteration 4: 2,706 ns/op
Iteration 5: *** Toggle switched *** 2,698 ns/op
Iteration 6: 2,698 ns/op
Iteration 7: 2,692 ns/op
Iteration 8: 2,707 ns/op
Iteration 9: 2,712 ns/op
Iteration 10: 2,702 ns/op
# Benchmark: bench.Toggle.alwaysTrue
# Run progress: 25,00% complete, ETA 00:00:48
# Fork: 1 of 1
# Warmup Iteration 1: 5,159 ns/op
# Warmup Iteration 2: 5,198 ns/op
# Warmup Iteration 3: 4,314 ns/op
# Warmup Iteration 4: 4,321 ns/op
# Warmup Iteration 5: 4,306 ns/op
Iteration 1: 4,306 ns/op
Iteration 2: 4,310 ns/op
Iteration 3: 4,297 ns/op
Iteration 4: 4,324 ns/op
Iteration 5: *** Toggle switched *** 4,356 ns/op
Iteration 6: 4,300 ns/op
Iteration 7: 4,310 ns/op
Iteration 8: 4,290 ns/op
Iteration 9: 4,297 ns/op
Iteration 10: 4,294 ns/op
# Benchmark: bench.Toggle.field
# Run progress: 50,00% complete, ETA 00:00:32
# Fork: 1 of 1
# Warmup Iteration 1: 3,596 ns/op
# Warmup Iteration 2: 3,429 ns/op
# Warmup Iteration 3: 2,973 ns/op
# Warmup Iteration 4: 2,937 ns/op
# Warmup Iteration 5: 2,934 ns/op
Iteration 1: 2,927 ns/op
Iteration 2: 2,928 ns/op
Iteration 3: 2,932 ns/op
Iteration 4: 2,929 ns/op
Iteration 5: *** Toggle switched *** 3,002 ns/op
Iteration 6: 4,887 ns/op
Iteration 7: 4,866 ns/op
Iteration 8: 4,877 ns/op
Iteration 9: 4,867 ns/op
Iteration 10: 4,877 ns/op
# Benchmark: bench.Toggle.mutableCallSite
# Run progress: 75,00% complete, ETA 00:00:16
# Fork: 1 of 1
# Warmup Iteration 1: 3,474 ns/op
# Warmup Iteration 2: 3,332 ns/op
# Warmup Iteration 3: 2,750 ns/op
# Warmup Iteration 4: 2,701 ns/op
# Warmup Iteration 5: 2,701 ns/op
Iteration 1: 2,697 ns/op
Iteration 2: 2,696 ns/op
Iteration 3: 2,699 ns/op
Iteration 4: 2,706 ns/op
Iteration 5: *** Toggle switched *** 2,771 ns/op
Iteration 6: 4,310 ns/op
Iteration 7: 4,306 ns/op
Iteration 8: 4,312 ns/op
Iteration 9: 4,317 ns/op
Iteration 10: 4,301 ns/op
上面的代码打印出从import tensorflow as tf
import tensorflow_probability as tfp
tfd = tfp.distributions
def geometric(p):
def cond(_):
return tf.equal(1, tfd.Bernoulli(p).sample())
def body(t):
return tf.add(t, 1)
return tf.while_loop(
cond, # name is automatically generated
body,
[tf.constant(0)]
)
with tf.Session() as sess:
acc = sess.run(geometric(0.001))
print(acc)
到0
的值,这没有意义。我希望它能打印数百种内容。此外,当我将3
调用更改为geometric
时,仍然得到相同的结果。
任何人都可以指出我上面的代码有什么问题吗?
答案 0 :(得分:1)
您的条件是否逆转?我想你想不 1(而0)