小编Ahm*_*med的帖子

如何生成64位随机数?

我正在实现通用散列并使用以下通用散列函数:

h(k)=((A*k)mod 2 ^ 64)rsh 64-r

其中A是一个随机数

2 ^ 61和2 ^ 62.

C++中rand()函数有返回类型整数,它不能生成那么大的数字.那么如何在这个范围内生成随机数?(数字应该是非常随机的,即每个数字应该具有相同的概率被选中)

注意:

long long int random=rand();
Run Code Online (Sandbox Code Playgroud)

不起作用返回的数字randint.

c++ random universal-hashing

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

为什么通过SDM从梦想火花下载定期停止?

我一直试图下载Windows 8.1一周.每次我开始下载,它停止在15-20%并给出以下错误:

"无法完成下载.如果此产品的位置选择可用,请选择其他位置.如果没有可用的位置选择,则下载可能无法完成,因为未找到Internet连接,Internet连接丢失或防火墙或客户端站点和托管位置之间存在代理服务器.请稍后再试".

当我在此错误后单击恢复下载时,它会再次启动但在一段时间后会出现相同的错误,但会通过恢复再次启动.

下载完成后,会出现解包错误,并建议再次下载产品.
它已经发生了很多次(和我的一些朋友一起),我很沮丧,这个问题有解决方案吗?

download dreamspark

9
推荐指数
1
解决办法
1万
查看次数

使用递归神经网络进行字符串匹配

我最近开始探索回归神经网络.到目前为止,我已经使用Andrej Karpathy的博客在tensorFlow上训练了角色级语言模型.它很棒.

然而,我无法找到任何关于使用RNN进行字符串匹配或关键字定位的研究.对于我的一个项目,我需要对扫描文档进行OCR,然后解析转换后的文本以获取关键数据点.大多数字符串匹配技术都无法包含OCR转换错误,从而导致严重错误.

是否可以根据我收到的转换文本的变化来训练RNN并将其用于查找关键字.

machine-learning string-matching tensorflow recurrent-neural-network

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

在TensorFlow/Keras中获得中间层的输出

我正在尝试获取Keras中间层的输出,以下是我的代码:

XX = model.input # Keras Sequential() model object
YY = model.layers[0].output
F = K.function([XX], [YY]) # K refers to keras.backend


Xaug = X_train[:9]
Xresult = F([Xaug.astype('float32')])
Run Code Online (Sandbox Code Playgroud)

运行这个,我得到一个错误:

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'dropout_1/keras_learning_phase' with dtype bool
Run Code Online (Sandbox Code Playgroud)

我开始知道因为我在我的模型中使用了dropout图层,所以我必须learning_phase()根据keras 文档为我的函数指定一个标志.我将代码更改为以下内容:

XX = model.input
YY = model.layers[0].output
F = K.function([XX, K.learning_phase()], [YY])


Xaug = X_train[:9]
Xresult = F([Xaug.astype('float32'), 0])
Run Code Online (Sandbox Code Playgroud)

现在我得到一个我无法弄清楚的新错误:

TypeError: Cannot interpret feed_dict key as Tensor: Can not convert a …
Run Code Online (Sandbox Code Playgroud)

deep-learning conv-neural-network keras tensorflow

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

如何在 OpenCV for Python 中使用 surf 和 sift 检测器

我正在尝试使用函数 SURF() 进行特征匹配的代码。执行时它会给出一个错误,说“AttributeError:'module' object has no attribute 'SURF'”。

如何为 Python (Windows) 下载此模块并修复此错误?

python opencv surf

6
推荐指数
1
解决办法
9437
查看次数

Python多处理池与多处理ThreadPool

我有一个图像路径列表,我想在进程或线程之间划分,以便每个进程处理列表的某些部分.处理包括从磁盘加载图像,进行一些计算并返回结果.我正在使用Python 2.7multiprocessing.Pool

这是我创建工作进程的方法

def ProcessParallel(classifier,path):
    files=glob.glob(path+"\*.png")
    files_sorted=sorted(files,key=lambda file_name:int(file_name.split('--')[1]))
    p = multiprocessing.Pool(processes=4,initializer=Initializer,initargs=(classifier,))
    data=p.map(LoadAndClassify, files_sorted)
    return data
Run Code Online (Sandbox Code Playgroud)

我面临的问题是,当我在我的Intializer函数中记录初始化时间时,我发现Worker并没有并行初始化,而是每个worker初始化时间间隔为5秒,以下是日志供参考

2016-08-08 12:38:32,043 - custom_logging - INFO - Worker started
2016-08-08 12:38:37,647 - custom_logging - INFO - Worker started
2016-08-08 12:38:43,187 - custom_logging - INFO - Worker started
2016-08-08 12:38:48,634 - custom_logging - INFO - Worker started 
Run Code Online (Sandbox Code Playgroud)

我尝试过使用,multiprocessing.pool.ThreadPool而不是同时启动Workers.
我知道Windows上的多处理是如何工作的,我们必须放置一个main guard来保护我们的代码不会产生无限的进程.我的问题是我使用FASTCGI在IIS上托管我的脚本,我的脚本不是主要的,它由FastCGI进程运行(有一个wfastcgi.py脚本负责).现在wfastcgi.py中有一个主要的守卫,日志表明我没有创建无限的进程.

现在我想知道多处理池不能同时创建工作线程的原因究竟是什么,我真的很感激任何帮助.

编辑1:这是我的初始化器功能

def Initializer(classifier):
    global indexing_classifier
    logger.info('Worker started')
    indexing_classifier=classifier
Run Code Online (Sandbox Code Playgroud)

python multithreading multiprocessing

5
推荐指数
1
解决办法
1272
查看次数

为什么我们在使用线程编译C代码时编写-D_REENTRANT

当我们编译一个在其中实现了线程的C程序时,我们编写这个语句.我不明白为什么我们在这里使用-D_REENTRANT.例如gcc t1.c -lpthread -D_REENTRANT

gcc

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

C++中char数组末尾的空终止符

为什么不必在以下代码中将名为temp的字符串末尾存储空字符

char source[50] = "hello world";
char temp[50] = "anything";
int i = 0;
int j = 0;

while (source[i] != '\0')
{
    temp[j] = source[i];
    i = i + 1;
    j = j + 1;
}
 cout << temp; // hello world
Run Code Online (Sandbox Code Playgroud)

而在下面的情况下,它是必要的

char source[50] = "hello world";
char temp[50];
int i = 0;
int j = 0;
while (source[i] != '\0')
{
    temp[j] = source[i];
    i = i + 1;
    j = j + 1;
}
cout << …
Run Code Online (Sandbox Code Playgroud)

c++ arrays string initialization

3
推荐指数
1
解决办法
7247
查看次数

右移不正常

我正确地将unsigned int移动了32但它根本不影响数字,为什么会发生?

int main()
{
  unsigned int rnd=2347483648;
  cout<<rnd;
  rnd=rnd>>32;
  cout<<endl<<rnd;
}
Run Code Online (Sandbox Code Playgroud)

当代码运行时,它会显示两次rnd,完全没有任何影响.我相信在右移32位int后,它不应该显示为零吗?

c++ bit-shift

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

为什么堆栈不会回滚

我们研究过Stack的扩展和缩小.但在实践中它不会发生以一个从地址100扩展到0的堆栈的例子,即第一个变量变为100,然后紧接着99等等.现在当我们编写以下代码时

int main()
{
   {
      int i;
      cout<<&i;//100 is displayed on screen
   }
   {
      int j;
      cout<<&j;//99 is displayed on screen
   }
}
Run Code Online (Sandbox Code Playgroud)

现在当我们宣布i时,它会转到100,然后它的范围结束.然后j在新范围中声明,现在它应该再次具有地址100,因为我已经完成并且堆栈应该回滚但是它没有,j具有地址99.为什么?你可以解释吗??

c++ stack operating-system

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

C#中的Var初始化

我写了一个使用OCR的小代码.我遇到了一个令人困惑的情况,即使代码到达初始化点之前,我的数据类型var变量也会被初始化.请看一下这个截图
在此输入图像描述

代码行RecAPIPlus.RecInitPlus(null,null);应该返回API初始化的状态.这行甚至没有执行,但我的状态变量似乎有一个默认值,即REC_OK ,上面的代码行应该在执行时返回.
任何人都可以解释这个的原因吗?这是完整的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nuance.OmniPage.CSDK;
namespace OmniPage
{
    class Program
    {
        static void Main(string[] args)
        {

            try
            {

                Console.WriteLine(Nuance.OmniPage.CSDK.ZONETYPE.WT_AUTO);



                var status=RecAPIPlus.RecInitPlus(null,null);
                IntPtr a;
                var output = RecAPI.kRecLoadImgF(0, "out.txt", out a, 1);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# var initialization

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

C#System.Collections.Generic.List <T>中的错误?

我正在编写一个简单的代码来从文本文件中读取一些数据并存储在C#列表中,但是存在问题.如果问题出在我身边或是图书馆,请提供帮助.我写了以下函数:

public List<EmpBO> ReadData()
        {
            EmpBO temp = new EmpBO();
            List<EmpBO> lis = new List<EmpBO>(100);
            string[] tokens;
            string data;
            StreamReader sw = new StreamReader(new FileStream("emp.txt",FileMode.OpenOrCreate));
            int ind = 0;
            while ((data = sw.ReadLine())!=null)
            {
                Console.WriteLine("Reading " + data);
                tokens = data.Split(';');
                temp.Id = int.Parse(tokens[0]);
                temp.Name = tokens[1];
                temp.Salary = double.Parse(tokens[2]);
                temp.Br = double.Parse(tokens[3]);
                temp.Tax = double.Parse(tokens[4]);
                temp.Designation = tokens[5];
                //lis.Add(temp);
                lis.Insert(ind,temp);
                ind++;

            }
            sw.Close();
            Console.WriteLine("Read this material and returning list");
            for (int i = 0; i < lis.Count; i++)
            { …
Run Code Online (Sandbox Code Playgroud)

c# list

-3
推荐指数
1
解决办法
648
查看次数