小编Uma*_*pta的帖子

同时命名导出和默认导出

我试图将默认和命名导出放在同一个文件中.例如://文件名:utils/fetch

// file name : utils/fetch
export default fetchUtil;

module.exports = {
    fetch : fetchUtil,
    post,
    put,
    get,
};

// import code
import fetch from 'utils/fetch';
Run Code Online (Sandbox Code Playgroud)

我的代码使用webpack构建得很好,但是在浏览器中我得到错误:

// file name : utils/fetch
export default fetchUtil;

module.exports = {
    fetch : fetchUtil,
    post,
    put,
    get,
};

// import code
import fetch from 'utils/fetch';
Run Code Online (Sandbox Code Playgroud)

我错过了什么或者这不是在同一个文件中进行默认和命名导入的方法吗?

javascript import

15
推荐指数
1
解决办法
9619
查看次数

将TTF转换为WOFF

我一直在尝试使用各种命令行和在线工具将TTF转换为WOFF.我试过以下:

命令行 :

在线:

我有大小~220KB的ttf文件.所有这些工具都生成大小约为100KB的woff文件,但font-squirrel除外,它生成一个大小优化的文件~20KB.

我很好奇font-squirrel做了什么,没有其他命令行(阅读开源)工具能够做到.如果可能的话,我怎样才能通过命令行执行相同操作,即使它涉及编写或黑客攻击某些代码.

fonts truetype woff

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

使用webpack的Jest提供插件

我正在使用webpack-provide-plugin导入反应.

new webpack.ProvidePlugin({
        "React": "react",
}),
Run Code Online (Sandbox Code Playgroud)

// text.jsx

let text = (props) => (
  <div> 
    <p class="text">this.props.text</p>
  </div>
)

export default text 
Run Code Online (Sandbox Code Playgroud)

//text.test.js

import React from 'react';
import { shallow } from 'enzyme';
import text from 'text';

it('Renders text', () => {
    const wrapper = shallow(<text/>);
    expect(wrapper.hasClass("text")).toEqual(true);
});
Run Code Online (Sandbox Code Playgroud)

但是当用jest运行反应组件测试时,我得到了错误

ReferenceError: React is not defined
Run Code Online (Sandbox Code Playgroud)

当然,因为反应不是明确导入的.除了显式导入和放弃提供插件之外,有没有办法解决这个问题?

import reactjs webpack jestjs es6-modules

11
推荐指数
1
解决办法
2081
查看次数

pdb 绕过错误/跳转失败:只能从“行”跟踪事件跳转

我正在尝试使用 pdb 调试 Python 程序。程序可能是这样的:

def main():
    a = 1
    print(b)
    c = 2
    d = 3
Run Code Online (Sandbox Code Playgroud)

显然,print(b) 是一个错字,应该是 print(a) 但这并不重要,我可以用文本编辑器修复它,但我想绕过这个错误并继续调试。

我试过跳转,比如跳转 4(假设“c=2”是第 4 行)但是我得到了错误“跳转失败:f_lineno 只能由行跟踪功能设置”,这意味着我需要在以下情况下提供行跟踪功能我在编程。

那么,有没有办法解决这个问题,或者在使用pdb时有没有其他方法可以绕过错误行?

python debugging pdb

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

Pytorch 0.4.0:在CUDA设备上有三种方法可以创建张量.它们之间有什么区别吗?

我以第三种方式失败了.t3还在CPU上.不知道为什么.

a = np.random.randn(1, 1, 2, 3)

t1 = torch.tensor(a)
t1 = t3.to(torch.device('cuda'))

t2 = torch.tensor(a)
t2 = t2.cuda() 

t3 = torch.tensor(a, device=torch.device('cuda'))
Run Code Online (Sandbox Code Playgroud)

pytorch tensor

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

在没有 .forward() 的情况下调用 forward 函数

在查看有关姿势估计AlphaPose 的一些 pytorch 代码时,我注意到一些不熟悉的语法:

基本上,我们定义了一个Darknet继承nn.Module属性的类,如下所示:class Darknet(nn.Module)

这从一些配置文件重新构建了神经网络,并定义了加载预训练权重和前向传递的函数

现在,前向传递采用以下参数:

def forward(self, x, CUDA)
Run Code Online (Sandbox Code Playgroud)

我应该注意到,在类定义中 forward 是唯一具有 CUDA 属性的方法(这将在以后变得很重要)

在前向传递中,我们得到预测:

for i in range(number_of_modules):
     x = self.module[i](x)
Run Code Online (Sandbox Code Playgroud)

其中module[i]构造为:

module = nn.Sequential()
conv = nn.Conv2d(prev_fileters, filters, kernel_size, stride, pad, bias=bias)
module.add_module("conv_{0}".format(index), conv)
Run Code Online (Sandbox Code Playgroud)

然后我们调用 invoke 这个模型和(我假设)一个像这样的转发方法:

self.det_model = Darknet("yolo/cfg/yolov3-spp.cfg")
self.det_model.load_weights('models/yolo/yolov3-spp.weights')
self.det_model.cpu()
self.det_model.eval()

image = image.cpu()
prediction = self.det_model(img, CUDA = False)
Run Code Online (Sandbox Code Playgroud)

我假设最后一行是前向传递的调用,但为什么不使用.forward? 这是pytorch特定的语法还是我缺少一些基本的python原则?

python pytorch

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

长序列在seq2seq模型中注意?

我正在关注这个pytorch教程http://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html并尝试将此原则应用于摘要.其中编码序列大约为1000个字,而解码器目标为200个字.如何将seq2seq应用于此?我知道一次完成1000个单词的整个序列会非常昂贵且几乎不可行.因此将seq划分为20 seq并且并行运行可以得到答案.但我不知道如何实现它我也希望将注意力集中在它上面.

python summarization lstm pytorch

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

在python3中使用importlib进行动态导入时出错

我一直在尝试importlib与python3(3.6)一起使用。

目录结构

main.py

#Note: I will only modify line 4 that uses importlib
import importlib
if __name__ == '__main__':
    print("In main.py")
    hello = importlib.import_module('hello', package='./')
    print("Loaded hello.py")
    hello.hello()
Run Code Online (Sandbox Code Playgroud)

你好

def hello():
    print('Hello world')
Run Code Online (Sandbox Code Playgroud)

文件夹/hello.py

def hello():
    print('Hello world in folder')
Run Code Online (Sandbox Code Playgroud)

观察结果

如果我做

hello = importlib.import_module('hello', package='./') 要么

hello = importlib.import_module('hello')

它从根文件夹导入hello.py并进行打印hello world

如果我做

hello = importlib.import_module('folder.hello')

它从根文件夹导入folder / hello.py并打印hello world in folder

但是如果我这样做

hello = importlib.import_module('hello', package='folder') 要么

hello = …

import python-import dynamic-import python-3.x python-importlib

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

如何在Pytorch的`nn.Sequential`中变平输入

如何扁平化内部的输入 nn.Sequential

Model = nn.Sequential(x.view(x.shape[0],-1),
                     nn.Linear(784,256),
                     nn.ReLU(),
                     nn.Linear(256,128),
                     nn.ReLU(),
                     nn.Linear(128,64),
                     nn.ReLU(),
                     nn.Linear(64,10),
                     nn.LogSoftmax(dim=1))
Run Code Online (Sandbox Code Playgroud)

python artificial-intelligence neural-network pytorch

5
推荐指数
3
解决办法
2470
查看次数

使用f字符串python格式化具有相同宽度的数字

我想使用f字符串格式化具有相同宽度的数字数组。数字可以是正数或负数。

最低工作示例

import numpy as np  
arr = np.random.rand(10) - 0.5 
for num in arr:
    print(f"{num:0.4f}")
Run Code Online (Sandbox Code Playgroud)

结果是

0.0647
-0.2608
-0.2724
0.2642
0.0429
0.1461
-0.3285
-0.3914
Run Code Online (Sandbox Code Playgroud)

由于带有负号,因此无法以相同的宽度打印数字,这很烦人。如何使用F弦获得相同的宽度?

我能想到的一种方法是将数字转换为字符串并打印字符串。但是有没有比这更好的方法了?

for num in a: 
    str_ = f"{num:0.4f}" 
    print(f"{str_:>10}")
Run Code Online (Sandbox Code Playgroud)

python python-3.x f-string

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