小编Pin*_*hio的帖子

init()函数何时运行?

我试图找到一个关于init()Go中函数功能的精确解释.我读到了Effective Go所说的内容,但我不确定我是否完全理解它所说的内容.我不确定的确切句子如下:

最后意味着:在包中的所有变量声明都已经评估了它们的初始值设定项之后调用init,并且只有在初始化了所有导入的包之后才会对它们进行求值.

什么all the variable declarations in the package have evaluated their initializers意思?这是否意味着如果在包及其文件中声明"全局"变量,init()将不会运行,直到所有它都被评估,然后它将运行所有init函数,然后运行./main_file_name时运行main()?

我还阅读了Mark Summerfield的以下书:

如果一个包有一个或多个init()函数,它们会在调用主包的main()函数之前自动执行.

根据我的理解,init()只有在你打算运行main()时才有意义吗?或主包.任何人init()都能更准确地理解我

init go

324
推荐指数
6
解决办法
14万
查看次数

你怎么得到一个Golang程序来打印它刚刚调用的错误的行号?

我试图在我的Golang程序中抛出错误log.Fatal但是,log.Fatal也没有打印出log.Fatal运行的行.有没有办法访问调用log.Fatal的行号?即,有什么方法可以在抛出错误时获取行号?

我试图谷歌这个,但不确定如何.我能得到的最好的东西是打印堆栈跟踪,我认为它很好但可能有点太多了.debug.PrintStack()每次我需要行号时我也不想写,我很惊讶没有任何内置功能,log.FatalStackTrace()或者不是服装的东西.

另外,我不想自己进行调试/错误处理的原因是因为我不希望人们必须学习如何使用我的特殊服装处理代码.我只想要一些标准的东西,人们可以在以后阅读我的代码,就像

"啊好的,所以它抛出一个错误并做X ......"

人们越少了解我的代码越好:)

error-handling go

78
推荐指数
3
解决办法
4万
查看次数

如何从cqlsh中运行cql文件(.cql)?

我遇到的问题是我想运行以下命令(我不能):

cqlsh < cql_directory/cql_create_stuff.cql
Run Code Online (Sandbox Code Playgroud)

因为我还没有登录到cqlsh.

所以我登录了:

cqlsh -u 'my_username' -p 'my_super_secret_password'
Run Code Online (Sandbox Code Playgroud)

现在我尝试在cqlsh shell中执行命令,但它只是响应语法错误.

基本上,我如何登录cqlsh并在我的文件系统中运行外部CQL脚本?

cql cassandra cassandra-2.0

50
推荐指数
3
解决办法
7万
查看次数

如何在TensorFlow中调试NaN值?

我正在运行TensorFlow,而我碰巧有一些产生NaN的东西.我想知道它是什么,但我不知道该怎么做.主要问题是在"正常"程序程序中,我只是在执行操作之前编写一个print语句.TensorFlow的问题在于我不能这样做,因为我首先声明(或定义)图形,因此向图形定义添加print语句没有帮助.是否有任何规则,建议,启发式方法,以及追踪可能导致NaN的原因的任何事情?


在这种情况下,我更准确地知道要查看哪一行,因为我有以下内容:

Delta_tilde = 2.0*tf.matmul(x,W) - tf.add(WW, XX) #note this quantity should always be positive because its pair-wise euclidian distance
Z = tf.sqrt(Delta_tilde)
Z = Transform(Z) # potentially some transform, currently I have it to return Z for debugging (the identity)
Z = tf.pow(Z, 2.0)
A = tf.exp(Z) 
Run Code Online (Sandbox Code Playgroud)

当这一行存在时,我知道它返回由我的摘要编写者声明的NaN.为什么是这样?有没有办法至少探索Z在其平方根后具有什么价值?


对于我发布的具体示例,我试过tf.Print(0,Z)但没有成功,它什么都没打印.如:

Delta_tilde = 2.0*tf.matmul(x,W) - tf.add(WW, XX) #note this quantity should always be positive because its pair-wise euclidian distance
Z = tf.sqrt(Delta_tilde)
tf.Print(0,[Z]) # <-------- TF PRINT STATMENT
Z …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network conv-neural-network tensorflow

45
推荐指数
6
解决办法
2万
查看次数

golang中的布尔值没有XOR运算符吗?

golang中的布尔值没有XOR运算符吗?

我试图做类似的事情,b1^b2但它说没有为布尔人定义.

go

43
推荐指数
2
解决办法
4万
查看次数

如何在TensorFlow中使用tf.get_variable和numpy值初始化变量?

我想用numpy值初始化我网络上的一些变量.为了这个例子考虑:

init=np.random.rand(1,2)
tf.get_variable('var_name',initializer=init)
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我收到一个错误:

ValueError: Shape of a new variable (var_name) must be fully defined, but instead was <unknown>.
Run Code Online (Sandbox Code Playgroud)

为什么我得到那个错误?

为了尝试修复它,我尝试了:

tf.get_variable('var_name',initializer=init, shape=[1,2])
Run Code Online (Sandbox Code Playgroud)

这产生了一个更奇怪的错误:

TypeError: 'numpy.ndarray' object is not callable
Run Code Online (Sandbox Code Playgroud)

我尝试阅读文档和示例,但它并没有真正帮助.

是否无法使用TensorFlow中的get_variable方法使用numpy数组初始化变量?

python numpy tensorflow

22
推荐指数
2
解决办法
4万
查看次数

如何阅读TensorBoard的直方图功能有什么好的解释?

问题很简单,您如何阅读这些图表?我读了他们的解释,这对我没有意义.

我正在阅读TensorFlow 最新更新的TensorBoard自述文件,并在其中尝试解释什么是"直方图".首先,它澄清它不是真正的直方图:

现在,它的名字有点用词不当,因为它没有显示直方图; 相反,它显示了一些分布的高级统计数据.

我想弄清楚他们的描述实际上是想说什么.

现在我试图解析具体的句子:

图表上的每一行代表数据分布的百分位数:例如,底线显示最小值如何随时间变化,中间的线显示中位数的变化情况.

我的第一个问题是,"每一行"是什么意思.有水平轴,有些线条在图形上形成正方形网格,或者可能是绘制的线条本身.考虑一下TensorBoard示例的屏幕截图:

在此输入图像描述

他们用"线"指的是什么?在上面的例子中,他们谈论的是什么线和百分位数?

然后,自述文件尝试使用示例提供更多详细信息:

从上到下阅读,这些行具有以下含义:[最大值,最大值,93%,84%,69%,50%,31%,16%,7%,最小值]

但是,我不清楚他们在谈论什么.什么是线条和百分位数?

他们似乎正试图在将来取代它,但与此同时,我仍然坚持这一点.有人可以帮我理解如何使用它吗?

python statistics machine-learning tensorflow

21
推荐指数
1
解决办法
1370
查看次数

TensorFlow是否为其用户实施了交叉验证?

我在想使用交叉验证尝试选择超参数(如正规化例如)或可能培养出车型的多个初始化,然后选择具有最高交叉验证准确度模型.实现k折或CV是简单的,但繁琐/恼人的(特别是如果我试图培养在不同的CPU,GPU的,甚至不同的计算机等不同的型号).我希望像TensorFlow这样的库可以为用户实现这样的东西,这样我们就不需要对同一个东西进行100次编码了.因此,TensorFlow是否有可以帮助我进行交叉验证的库或其他东西?


作为更新,似乎可以使用scikit learn或其他东西来做到这一点.如果是这种情况,那么如果有人可以提供一个简单的NN培训示例和scikit的交叉验证,那就太棒了!不知道这是否可以扩展到多个cpus,gpus,cluster等.

python machine-learning scikit-learn cross-validation tensorflow

20
推荐指数
2
解决办法
2万
查看次数

如何使用godoc作为网页为go程序提供简单的文档?

我试图将特定的本地go文件作为文档网页提供,但无法做到.

负责人godoc文件说:

使用-http标志(即godoc命令),它作为Web服务器运行,并将文档显示为网页.

user_me$ godoc -http=:6060
Run Code Online (Sandbox Code Playgroud)

这确实创建了与go页面类似的东西,但它不呈现我想要呈现的特定文件.所以我试着提供我想要的文件的名称:

user_me$ godoc -http=:6000 hello.go
Run Code Online (Sandbox Code Playgroud)

但是,它只回复:

usage: godoc package [name ...]
    godoc -http=:6060
  -ex=false: show examples in command line mode
  -goroot="/usr/local/go": Go root directory
  -html=false: print HTML in command-line mode
  -http="": HTTP service address (e.g., ':6060')
  -httptest.serve="": if non-empty, httptest.NewServer serves on this address and blocks
  -index=false: enable search index
  -index_files="": glob pattern specifying index files;if not empty, the index is read from these files in sorted order
  -index_throttle=0.75: index throttle value; …
Run Code Online (Sandbox Code Playgroud)

go godoc

19
推荐指数
2
解决办法
2万
查看次数

如何在Cassandra DB中创建第一个用户

如何在cassandra数据库中创建第一个用户?

我试过了:

CREATE USER username WITH PASSWORD "";
Run Code Online (Sandbox Code Playgroud)

它说:

Bad Request: Only superusers are allowed to perform CREATE USER queries
Run Code Online (Sandbox Code Playgroud)

但是我在尝试之前从未创建过用户,那么如何在cassandra数据库中创建第一个用户呢?

这看起来有点奇怪,因为它就像鸡和蛋的问题,但人们使用Cassandra,所以我相信某处必须有解决方案.

cql cassandra cqlsh

16
推荐指数
2
解决办法
4万
查看次数