clojure.spec/coll-of
使用:gen-max
选项来限制生成的样本大小。
是否有clojure.spec/+
的模拟?
答案 0 :(得分:0)
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"
os.environ['CUDA_VISIBLE_DEVICES']='0'
...
device = torch.cuda.device(0)
print torch.cuda.get_device_name(0)
和s/*
不会采用s/+
这样的选项,但是那些重复的正则表达式规范却是take clojure.spec.alpha/*recursion-limit*
into account。我认为这是一个粗粒度的控件,并且对像这样的简单规范没有实际影响,对于任何肯定的:gen-max
来说,它似乎总是产生最长〜200个元素的序列:
*recursion-limit*
限制生成序列长度的一种方法是提供自定义生成器:
(binding [clojure.spec.alpha/*recursion-limit* 1]
(->> (gen/sample (s/gen (s/* int?)) 200)
(map count)
(apply max)))
这应该始终生成1到10个整数的向量。