在perl中测试文件夹是否为空的简单方法是什么?-s和-z不起作用.
例:
#Ensure Apps directory exists on the test PC.
if ( ! -s $gAppsDir )
{
die "\n$gAppsDir is not accessible or does not exist.\n";
}
#Ensure Apps directory exists on the test PC.
if ( ! -z $gAppsDir )
{
die "\n$gAppsDir is not accessible or does not exist.\n";
}
Run Code Online (Sandbox Code Playgroud)
以上这些,不能正常告诉我文件夹是空的.谢谢!
谢谢大家!我最终使用:
sub is_folder_empty { my $dirname = shift; opendir(my $dh, $dirname) or die "Not a directory";
return scalar(grep { $_ ne "." && $_ ne ".." } …Run Code Online (Sandbox Code Playgroud) 我试图使用模块Config :: IniFiles的tie函数,但我无法弄清楚如何引用子例程中的哈希.如果我从子例程中删除tie函数和相关代码,它就可以完美地工作.
这是我认为可行的行,但告诉我"$ cfg"未初始化.
use Config::IniFiles
sub config_file {
my $cfg_file = 'settings.ini';
my %cfg;
tie %cfg, 'Config::IniFiles', ( -file => "$cfg_file" );
#my $cfg = Config::IniFiles->new( -file => $cfg_file );
}
sub esx_host_check {
my $esx_host = config_file()->$cfg{ESX}{host};
}
Run Code Online (Sandbox Code Playgroud)
我确信这很简单,但我很难过.
我正在做一个rsync来备份我的服务器文件,我有两个问题:
1 - 在进程的中间我需要停止并再次启动rsync,我想知道rsync是否会在它停止的同一点开始,或者它将重新启动同步?
2 - 在日志文件中显示此字符串到所有文件"f ++++++++",我想知道这意味着什么?
例如:
2010/12/21 08:28:37 [4537] >f.st...... iddd/logs/website-production-access_log
2010/12/21 08:29:11 [4537] >f.st...... iddd/web/website/production/shared/log/production.log
2010/12/21 08:29:14 [4537] .d..t...... iddd/web/website/production/shared/sessions/
2010/12/21 08:29:14 [4537] >f+++++++++ iddd/web/website/production/shared/sessions/ruby_sess.017a771cc19b18cd
2010/12/21 08:29:14 [4537] >f+++++++++ iddd/web/website/production/shared/sessions/ruby_sess.01eade9d317ca79a
Run Code Online (Sandbox Code Playgroud)
谢谢.
首先,我应该说明我的统计知识相当有限,所以如果我的问题看似微不足道或者甚至没有意义,请原谅我.
我的数据似乎没有正常分布.通常情况下,当我绘制置信区间时,我会使用平均值+ - 2标准偏差,但我不认为这对于非均匀分布是可以接受的.我的样本量目前设置为1000个样本,这似乎足以确定它是否是正态分布.
我使用Matlab进行所有处理,因此Matlab中是否有任何函数可以轻松计算置信区间(比如说95%)?
我知道有'分位数'和'prctile'功能,但我不确定这是否是我需要使用的.函数'mle'也返回正态分布数据的置信区间,尽管您也可以提供自己的pdf.
我可以使用ksdensity为我的数据创建一个pdf,然后将该pdf输入到mle函数中以给我置信区间吗?
另外,我将如何确定我的数据是否正常分布.我的意思是我现在可以通过查看ksdensity的直方图或pdf来判断,但有没有办法对其进行定量测量?
谢谢!
我有一个问题,我正在尝试为Tic-Tac-Toe创建一个神经网络.但是,出于某种原因,训练神经网络会导致它为任何给定的输入产生几乎相同的输出.
我确实看过人工神经网络基准测试,但我的网络实现是针对每个神经元具有相同激活功能的神经元构建的,即没有恒定的神经元.
为了确保问题不仅仅是由于我选择的训练集(1218板状态和遗传算法产生的移动),我试图训练网络重现XOR.使用逻辑激活函数.我没有使用导数,而是将误差乘以,output*(1-output)因为有些消息来源暗示这相当于使用导数.我可以将Haskell源代码放在HPaste上,但看起来有点尴尬.网络有3层:第一层有2个输入和4个输出,第二层有4个输入和1个输出,第三层有1个输出.在第二层中增加到4个神经元没有帮助,并且在第一层中也没有增加到8个输出.
然后,我根据http://hebb.mit.edu/courses/9.641/2002/lectures/lecture04.pdf手动计算错误,网络输出,偏差更新和重量更新,以确保没有错误代码的那些部分(没有,但我可能会再做一次以确保).因为我正在使用批量训练,所以我没有乘以x等式(4).我正在添加重量变化,但http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-2.html建议减去它.
即使在这个简化的网络中,问题仍然存在.例如,这些是500个批次培训和增量培训时期之后的结果.
Input |Target|Output (Batch) |Output(Incremental)
[1.0,1.0]|[0.0] |[0.5003781562785173]|[0.5009731800870864]
[1.0,0.0]|[1.0] |[0.5003740346965251]|[0.5006347214672715]
[0.0,1.0]|[1.0] |[0.5003734471544522]|[0.500589332376345]
[0.0,0.0]|[0.0] |[0.5003674110937019]|[0.500095157458231]
Run Code Online (Sandbox Code Playgroud)
减去而不是添加产生相同的问题,除了一切都是0.99而不是0.50的东西.5000个时期产生相同的结果,除了批量训练的网络每个案例返回0.5.(哎呀,即使是10000个时代也没有用于批量训练.)
有什么一般可以产生这种行为?
此外,我查看了增量训练的中间误差,虽然隐藏/输入层的输入变化,但输出神经元的误差始终为+/- 0.12.对于批量训练,错误增加,但非常缓慢,错误都非常小(x10 ^ -7).不同的初始随机权重和偏差也没有差别.
请注意,这是一个学校项目,所以提示/指南会更有帮助.虽然重新发明轮子和制作我自己的网络(用一种我不太熟悉的语言!)是一个可怕的想法,我觉得这对学校项目更合适(所以我知道发生了什么......理论上,至少.我的学校似乎没有计算机科学老师).
编辑:两层,一个输入层,两个输入到8个输出,一个输出层,8个输入到1个输出,产生大致相同的结果:每个训练案例0.5 +/- 0.2(左右).我也在玩pyBrain,看看是否有任何网络结构可行.
编辑2:我使用的学习率为0.1.很抱歉忘了这件事.
编辑3:Pybrain的"trainUntilConvergence"也没有让我成为一个训练有素的网络,但20000个时代确实如此,隐藏层中有16个神经元.10000个时代和4个神经元,不是那么多,而是接近.所以,在Haskell中,输入层有2个输入和2个输出,隐藏层有2个输入和8个输出,输出层有8个输入和1个输出......我得到了10000个时期的相同问题.并拥有20000个时代.
编辑4:我根据上面的MIT PDF再次手动运行网络,并且值匹配,因此代码应该是正确的,除非我误解了这些方程式.
我的一些源代码位于http://hpaste.org/42453/neural_network__not_working ; 我正在努力清理我的代码并将其放在Github(而不是私有的Bitbucket)存储库中.
所有相关的源代码现在都在https://github.com/l33tnerd/hsann.
我有一个简单的问题.我一直在努力学习Grails,我设法使用Grails/Gorm 做一个简单的应用程序.
1)后来,我决定使用Mysql而不是Gorm - 我只需要配置'DataSource'并下载驱动程序.
2)所以,如果我想在这两者之间使用hibernate(Grails和MYSQL):http: //www.grails.org/doc/latest/guide/15.%20Grails%20and%20Hibernate.html,我需要制作一个'hibernate.cfg.xml'文件,并指定我的mysql数据库url,user,pw等..我必须映射Grails for MySql列中的每个Class.
那么1)和2)之间的区别是什么?以及hibernate到底做了什么.尽可能举例
PS.如果我说错了,请纠正我,我对此有点新意
我今天正在制作我的第一个firefox扩展程序.到目前为止我已经做了一点......但现在我想计算用户打开的firefox窗口的数量(例如3)我可以计算标签,这很容易到目前为止...但我似乎无法找到如何循环浏览窗口并计算它们(窗口!=标签,像标签在窗口内,对不起,我希望这是有道理的,甚至mozilla将它混淆在他们的编码中)我认为基本上,我迷失了方法名称. ..
所以我认为它会像:
var tomato = SOMETHING HERE MYSTERY DIFFICULT!!!!;
for (var i = 0; i < tomato; i++) {
WINDOW COUNTER HERE (EASY)
}
Run Code Online (Sandbox Code Playgroud)
知道怎么做吗?
我写了一个快速而脏的函数来比较文件内容(BTW,我已经测试过它们的大小相同):
let eqFiles f1 f2 =
let bytes1 = Seq.ofArray (File.ReadAllBytes f1)
let bytes2 = Seq.ofArray (File.ReadAllBytes f2)
let res = Seq.compareWith (fun x y -> (int x) - (int y)) bytes1 bytes2
res = 0
Run Code Online (Sandbox Code Playgroud)
我不满意将所有内容读入数组.我宁愿有一个懒惰的字节序列,但我在F#中找不到合适的API.
以下作品:
import pyodbc
pyodbc.connect('DRIVER={FreeTDS};Server=my.db.server;Database=mydb;UID=myuser;PWD=mypwd;TDS_Version=8.0;Port=1433;')
Run Code Online (Sandbox Code Playgroud)
以下失败:
import sqlalchemy
sqlalchemy.create_engine("mssql://myuser:mypwd@my.db.server:1433/mydb?driver=FreeTDS& odbc_options='TDS_Version=8.0'").connect()
Run Code Online (Sandbox Code Playgroud)
上面的错误消息是:
DBAPIError :(错误)('08001','[08001] [unixODBC] [FreeTDS] [SQL Server]无法连接到数据源(0)(SQLDriverConnectW)')无无
有人可以指点我正确的方向吗?有没有办法告诉sqlalchemy将特定的连接字符串传递给pyodbc?
请注意:我希望保持此DSN-less.
perl ×2
.net ×1
backup ×1
directory ×1
f# ×1
file ×1
filestream ×1
firefox ×1
freetds ×1
grails ×1
grails-orm ×1
haskell ×1
hibernate ×1
javascript ×1
logging ×1
matlab ×1
mysql ×1
oracle ×1
pyodbc ×1
python ×1
rsync ×1
sql-server ×1
sqlalchemy ×1
xul ×1