小编zim*_*rol的帖子

使用numpy创建大型随机布尔矩阵

我正在尝试创建一个boolean随机填充TrueFalse具有给定概率的巨大矩阵p.起初我使用了这段代码:

N = 30000
p = 0.1
np.random.choice(a=[False, True], size=(N, N), p=[p, 1-p])  
Run Code Online (Sandbox Code Playgroud)

但遗憾的是,它似乎并没有因此而终止N.所以我尝试通过这样做将其拆分为单行的生成:

N = 30000
p = 0.1
mask = np.empty((N, N))
for i in range (N):
     mask[i] = np.random.choice(a=[False, True], size=N, p=[p, 1-p])            
     if (i % 100 == 0):
          print(i)
Run Code Online (Sandbox Code Playgroud)

现在发生了一些奇怪的事情(至少在我的设备上):第一个~1100行非常快速地生成 - 但在它之后,代码变得非常慢.为什么会这样?我在这里想念什么?有没有更好的方法来创建它有一个很大的矩阵True的概率条目pFalse条目的概率1-p

编辑:你们许多人都认为RAM会出现问题:由于运行代码的设备有近500GB的RAM,这不会有问题.

python random numpy

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

得到“水平视口被赋予无限的高度”。颤抖的TabBarView

我正在尝试创建一个个人资料页面,其中用户信息位于顶部。然后在该标签下有一个用于不同视图的选项卡视图。

在此处输入图片说明

这是我目前正在使用的代码,当我TabBarView拿出它时不会出现错误,并且如果将它们包装TabBarView进去,则会Expanded出现错误RenderFlex children have non-zero flex but incoming height constraints are unbounded.

     @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(''),
      ),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Padding(
            padding: EdgeInsets.all(10.0),
            child: Row(
              children: <Widget>[
                CircleAvatar(
                  minRadius: 45.0,
                  backgroundImage: NetworkImage(
                      'https://www.ienglishstatus.com/wp-content/uploads/2018/04/Anonymous-Whatsapp-profile-picture.jpg'),
                ),
                Padding(
                  padding: EdgeInsets.only(left: 10.0),
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: <Widget>[
                      Text(
                        'Testing Name',
                        style: TextStyle(
                          fontSize: 22.0,
                          color: Colors.grey.shade800,
                        ),
                      ),
                      Text(
                        '@testing_username',
                        style: TextStyle(
                          fontSize: 13.0,
                          color: …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

11
推荐指数
4
解决办法
8042
查看次数

Android Studio 2.2.1:慢速调试

自2.21版本更新以来,Debugging变得非常缓慢.一个例子:当我在没有调试器的情况下启动我的应用程序时,在不到2秒的时间内完成一个功能.连接调试器后,我必须等待超过4分钟才能完成.更新2.2.2没有解决这个问题.我该怎么做才能再次提高调试速度?

debugging android android-studio

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

用于WXGA分辨率的UI缩放

目前我在使用Windows Phone应用程序的UI方面遇到了一些困难.我一直认为操作系统会自动调整UI以适应设备的分辨率.在Visual Studio或Blend的设计器中,我的应用程序的UI对于我可以在预览中选择的所有不同设备类型/分辨率看起来几乎相同.当我在WVGA,720p模拟器和我的设备(Lumia 920)上调试应用程序时,它看起来也一样.但是当我在WXGA模拟器中启动应用程序时,UI看起来并没有被操作系统扩展.它只填充屏幕的前半部分,一切都非常小.

现在我很困惑:为什么UI缩放适用于许多分辨率但WXGA,以及为什么设计器中的预览与模拟器中的结果相比看起来完全不同.

做研究我发现这个图像解释了Windows Phone的不同分辨率.如果我正确理解它,UI应该看起来几乎与所有不同的分辨率相同,因为它应该缩放.现在我需要知道为什么它在WXGA分辨率下没有缩放或者我做错了什么.

编辑:因为我正在使用Windows Phone 8.1我无法编辑任何解析依赖,WMAppManifest.xml因为我在其他一些帖子中提到了这一点.

有可能,我的模拟器是问题,而不是应用程序本身?

提前致谢.

xaml windows-phone-8 windows-phone-8-emulator windows-phone-8.1

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

删除冗余模板类型

我目前正在努力使用模板:我有一个模板化的类A,它执行基本的数学运算(浮点数,双精度数,复数数),看起来像这样

template <typename T>
class A
{  
public:
    void foo(std::vector<std::complex<T>>& result);
};
Run Code Online (Sandbox Code Playgroud)

现在,我可以使用类一样A<double>, A<float>,但我也想用它喜欢A<std::complex<float>>A<std::complex<double>>.当使用后者时,我希望foo看起来像这样的定义

void foo(std::vector<std::complex<float>>& result);
Run Code Online (Sandbox Code Playgroud)

而不是喜欢

void foo(std::vector<std::complex<std::complex<float>>>& result);
Run Code Online (Sandbox Code Playgroud)

有没有办法为std::complex<T>案例创建一个特定的模板,我可以在其中访问"内部"类型?或者这不可能/不好的做法?解决这个问题最优雅的方法是什么?

c++ templates

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

在共享内存中使用Multiprocessing.Array时没有剩余空间

我正在使用Python的多处理功能在具有大约500GB RAM的机器上并行运行我的代码.要在不同的工作者之间共享一些数组,我正在创建一个Array对象:

N = 150
ndata = 10000
sigma = 3
ddim = 3

shared_data_base = multiprocessing.Array(ctypes.c_double, ndata*N*N*ddim*sigma*sigma)
shared_data = np.ctypeslib.as_array(shared_data_base.get_obj())
shared_data = shared_data.reshape(-1, N, N, ddim*sigma*sigma)
Run Code Online (Sandbox Code Playgroud)

这是完美的工作sigma=1,但是对于设备的sigma=3一个硬盘驱动器缓慢填充,直到没有可用空间,然后该过程因此异常而失败:

OSError: [Errno 28] No space left on device
Run Code Online (Sandbox Code Playgroud)

现在我有两个问题:

  1. 为什么这段代码甚至会写入光盘?为什么不将它全部存储在内存中?
  2. 我怎么解决这个问题?我可以让Python将它全部存储在RAM中而无需将其写入HDD吗?或者我可以更改写入此阵列的硬盘吗?

编辑:我在网上找到了一些建议,该数组存储在"共享内存"中.但是该/dev/shm设备有更多的可用空间,因为/dev/sda1上面的代码填充了这个空间. 是此代码的strace日志的(相关部分).

编辑#2:我认为我找到了解决此问题的方法.通过查看源代码,我发现multiprocessing尝试在目录中创建临时文件,该文件通过使用来确定

process.current_process()._config.get('tempdir')
Run Code Online (Sandbox Code Playgroud)

在脚本开头手动设置此值

from multiprocessing import process
process.current_process()._config['tempdir'] =  '/data/tmp/'
Run Code Online (Sandbox Code Playgroud)

似乎正在解决这个问题.但我认为这不是解决问题的最佳方法.那么:有没有其他建议如何处理它?

python arrays multiprocessing python-multiprocessing

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

具有神经网络的情景半梯度 Sarsa

在尝试实现Episodic Semi-gradient Sarsa with神经网络作为逼近器时,我想知道如何根据当前学习的网络权重选择最佳动作。如果动作空间是离散的,我可以计算当前状态下不同动作的估计值,并选择给出最大值的那个。但这似乎并不是解决问题的最好办法。此外,如果动作空间是连续的(例如自动驾驶汽车的加速),它就不起作用。

所以,基本上我想知道如何解决Choose A' as a function of q(S', , w)Sutton 伪代码中的第 10 行: 在此输入图像描述

这些问题通常是如何解决的?有人可以推荐一个使用该算法的好例子吗Keras

编辑:使用网络作为逼近器时是否需要修改伪代码?那么,我是否可以简单地最小化MSE网络的预测和奖励R

reinforcement-learning neural-network sarsa

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

解决迷宫c#

我想在运行程序时自动解决迷宫问题.

我的迷宫在开始时就像这样.

1 0 0 0
0 0 1 0
0 1 1 0
0 1 1 0
Run Code Online (Sandbox Code Playgroud)

最后它应该是这样的:

0 1 1 1
1 1 0 1
1 0 0 1
1 0 0 1
Run Code Online (Sandbox Code Playgroud)

我有一个3维数组(行,列和侧).

侧面可以在(0),右(1),上(2)和左(3)之下.如果我有墙,我会检查每个单元格.如果是的话,我在那个单元格中放了一个.

mazeTab[0, 0, 0] = 0;
mazeTab[0, 0, 1] = 1;
mazeTab[0, 0, 2] = 1;
mazeTab[0, 0, 3] = 1;

mazeTab[1, 0, 0] = 0;
mazeTab[1, 0, 1] = 0;
mazeTab[1, 0, 2] = 1;
mazeTab[1, 0, 3] = 1;

mazeTab[2, 0, 0] …
Run Code Online (Sandbox Code Playgroud)

c# maze

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

Keras可以预取像tensorflow Dataset这样的数据吗?

在TensorFlow的Dataset API中,我们可以用来dataset.prefetch(buffer_size=xxx)在GPU处理当前批次的数据时预加载其他批次的数据,因此,我可以充分利用GPU。

我将使用Keras,想知道是否keras有类似的API让我充分利用GPU,而不是串行执行:读取批处理0->处理批处理0->读取批处理1->处理批处理1->。 ..

我简要浏览了一下kerasAPI,但没有看到有关预取的描述。

python dataset keras tensorflow

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

多处理池初始化程序无法进行酸洗

我正在尝试使用multiprocessing.Pool来实现多线程应用程序。要共享一些变量,我在这里使用Queue提示:

def get_prediction(data):
    #here the real calculation will be performed
    ....


def mainFunction():
    def get_prediction_init(q):
        print("a")
        get_prediction.q = q

    queue = Queue()
    pool = Pool(processes=16, initializer=get_prediction_init, initargs=[queue,])

if __name__== '__main__':
    mainFunction()
Run Code Online (Sandbox Code Playgroud)

该代码可以在Debian计算机上完美运行,但在另一台Windows 10设备上则根本无法运行。它因错误而失败

AttributeError: Can't pickle local object 'mainFunction.<locals>.get_prediction_init'
Run Code Online (Sandbox Code Playgroud)

我真的不知道到底是什么引起了错误。如何解决该问题,以便我也可以在Windows设备上运行代码?

编辑:如果我get_predediction_init在与相同的级别上创建函数,则可以解决问题mainFunction。仅当我将其定义为内部函数时,它才失败。对不起,我的帖子混乱。

python pool multiprocessing

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