小编Zac*_*ach的帖子

如何将 Matplotlib 图转换为 PIL Image 对象(不保存图像)

正如标题所述,我正在尝试将 a 转换fig为 a PIL.Image。我目前可以通过首先将fig文件保存到磁盘然后使用打开该文件来做到这一点,Image.open()但该过程花费的时间比预期的要长,我希望通过跳过本地保存步骤会快一点。

这是我到目前为止所拥有的:

# build fig
figsize, dpi = self._calc_fig_size_res(img_height)
fig = plt.Figure(figsize=figsize)
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.imshow(torch.from_numpy(S).flip(0), cmap = cmap)
fig.subplots_adjust(left = 0, right = 1, bottom = 0, top = 1)
ax.axis('tight'); ax.axis('off')

# export
fig.savefig(export_path, dpi = dpi)

# open image as PIL object
img = Image.open(export_path)
Run Code Online (Sandbox Code Playgroud)

我在构建无花果之后尝试这样做(它会在导出阶段之前):

pil_img = Image.frombytes('RGB', canvas.get_width_height(), canvas.tostring_rgb())
Run Code Online (Sandbox Code Playgroud)

但它没有显示整个图像。它看起来像是左上角的一部分,但它可能只是数据的一种奇怪表示——我正在使用频谱图,因此图像相当抽象。

python numpy matplotlib python-imaging-library python-3.x

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

如何使用 Keras 中的 Adam 优化器在每个时期打印学习率?

因为当您使用自适应优化器时(调用时学习率计划会重置.fit()),在线学习与 Keras 无法很好地配合使用,所以我想看看是否可以手动设置它。然而,为了做到这一点,我需要找出最后一个时期的学习率。

也就是说,我如何打印每个时期的学习率?我想我可以通过回调来做到这一点,但似乎你每次都必须重新计算它,我不知道如何对亚当做到这一点。

我在另一个线程中找到了这个,但它只适用于 SGD:

class SGDLearningRateTracker(Callback):
    def on_epoch_end(self, epoch, logs={}):
        optimizer = self.model.optimizer
        lr = K.eval(optimizer.lr * (1. / (1. + optimizer.decay * optimizer.iterations)))
        print('\nLR: {:.6f}\n'.format(lr))
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network deep-learning keras

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

具有多个功能的RNN的数据形状/格式

我正在尝试使用python/keras构建一个RNN.我理解如何使用一个功能(t + 1作为输出),但是如何使用多个功能?

如果我有一个回归问题和一个具有一些不同特征的数据集,一个预期输出,并且我希望将时间步长/窗口设置为30(如果每个步骤代表一天,那么一个月)怎么办?数据是?在这个例子中,我希望能够预测未来的输出n个时间段.

请参阅下面的示例,了解此数据的外观:

在此输入图像描述

我很难直观地了解RNN数据所需的最佳形状/格式.

此外,RNN如何处理数据集,例如500个功能和几千条记录?

希望有人可以帮助回答或指出我正确的方向得到一个 - 到目前为止,我已发布在Reddit和Cross验证没有运气:(

如果首选代码数据示例:

# random df
df = pd.DataFrame({'date': np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),
                   'feature_1': np.random.randint(10, size=10),
                   'feature_2': np.random.randint(10, size=10),
                   'feature_3': np.random.randint(10, size=10),
                   'feature_4': np.random.randint(10, size=10),
                   'output': np.random.randint(10, size=10)}
                 )

# set date as index
df.index = df.date
df = df.drop('date', 1)
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network keras recurrent-neural-network

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

有没有办法通过 Python 加载网页的网络活动(您可以在 Chrome Dev Tools 上看到)?

我想收听网络事件(基本上是您转到 Chrome 开发人员工具/检查上的网络选项卡时可以看到的所有活动)并在通过 Python 加载页面时记录特定事件。

这可能吗?谢谢!

具体来说

  • webpage.com
  • 打开 Chrome Dev Tools 并转到Network选项卡
  • 添加api.webpage.com为过滤器
  • 刷新页面[滚动]

我希望能够捕获这些事件的名称,因为存在无法通过 UI 获得的特定 ID。

javascript python google-chrome http python-3.x

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

如何批量查找 Spotify ID(歌曲/曲目 ID)?

我有一个歌曲列表 - 有没有办法(使用 Spotify / Echo Nest API)批量查找每个曲目的 Spotify ID?

如果有帮助,我计划通过其 API 的“获取音频功能”部分运行这些 ID。

提前致谢!

spotify libspotify spotify-app echonest

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

JS中多参数多箭头函数的困惑

我目前正在学习 React 教程,但无法理解这些箭头函数的语法,特别是当有多个参数时。我来自 Python,仍在学习 JS,所以请记住这一点。

具有以下功能:

// ADD LEAD
export const addLead = (lead) => (dispatch, getState) => {
    axios
        .post('/api/leads/', lead, tokenConfig(getState))
        .then(........)
}
Run Code Online (Sandbox Code Playgroud)

为什么我们需要多个箭头?为什么lead在一组括号中而dispatchandgetState在另一组括号中?这种来自 Python 的语法非常令人困惑且不直观。

谢谢你的帮助!

javascript reactjs arrow-functions react-redux

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

python的virtualenv的许多问题

让virtualenv工作我遇到了很多麻烦.

首先我通过pip安装它,然后尝试设置virtualenv.这不起作用,我收到此错误消息:

    ResNets-iMac:desktop zachary$ virtualenv anothertest
Using base prefix '/Applications/Canopy.app/appdata/canopy-1.5.1.2730.macosx-x86_64/Canopy.app/Contents'
New python executable in anothertest/bin/python
dyld: Library not loaded: @rpath/Python
  Referenced from: /Users/zachary/Desktop/anothertest/bin/python
  Reason: image not found
ERROR: The executable anothertest/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/Users/zachary/Desktop' (should be u'/Users/zachary/Desktop/anothertest')
ERROR: virtualenv is not compatible with this system or executable
Run Code Online (Sandbox Code Playgroud)

然后,我完成了所有可能的故障排除,并决定Canopy是问题所在.所以我删除了,重新安装了virualenv(通过'pip uninstall virtualenv'然后'pip install virtualenv'),现在每当我尝试做任何涉及virtualenv的事情时我都会收到此错误:

dyld: Library not loaded: @rpath/Python
  Referenced from: /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么做,当我检查我的默认版本的python是什么时,我得到:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Run Code Online (Sandbox Code Playgroud)

我对这一切都很新,我真的不知道我一直在做什么,或者如何解决这个问题,所以任何帮助都会非常感激.

谢谢!

python macos virtualenv virtualenvwrapper python-2.7

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

除非我重置内核,否则对象不会在 Jupyter Notebook 中“重置”

这是一个奇怪的问题,我不完全确定如何恰当地提出问题,但我会尽力而为。

我有一个自定义类,它基本上是一个 API 的包装器,它在每次调用时使用新数据更新 SQLite 数据库(我无法将其添加到问题中,因为它是庞大且私密的)。

奇怪的是,似乎有些信息正在被缓存(我认为这是不可能的,但这是它让我想起的唯一一件事,比如当你在 web dev 中进行编辑但他们没有更新时)因为它首先起作用时间,但是当我尝试重新初始化对象并再次运行它时,它不会向数据库添加任何新数据(当我知道有新数据要添加时)。

我知道代码有效,因为如果我重新启动内核并再次运行它,它更新没有问题。

我尝试删除对象 ( del InitializedClass)、重新初始化并使用不同的值进行初始化,但似乎没有任何效果。除非重新启动内核,否则它不会更新数据库。

有没有人遇到过这样的问题?如果这还不够,我很乐意提供更多信息,但我不知道如何描述它。

谢谢!!


编辑

下面的伪代码基本上就是正在发生的事情

from something import SomeClass    

while True:

    obj = SomeClass() #      <---------  How can I "reset" this on each loop?

    obj.get_new_data_from_api()
    obj.update_raw_db()
    obj.process_raw_data()
    obj.update_processed_db()

    # i tried different combinations of deleting the object
    del obj
    del SomeClass
    from something import SomeClass
Run Code Online (Sandbox Code Playgroud)

编辑2:

所以正如大家所提到的,这是类本身的问题,但我仍然不明白为什么会发生错误。基本上,end当我将datetime.now()函数调用作为默认 kwarg(即使在删除类并创建新实例之后,这并没有)更新)。该问题如下图所示:

class SomeBrokenClass():

    def __init__(self):    
        pass

    def get_endpoint(self, start, end):
        return 'https://some.api.com?start_date=%s&end_date=%s' % (start, …
Run Code Online (Sandbox Code Playgroud)

python class ipython python-3.x jupyter-notebook

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

如何从 Colab Notebook 中提取 Google Cloud Storage 存储桶中的 tar.gz 文件?

正如问题所述,我试图弄清楚如何.tar.gz从 Google Colab 笔记本中提取存储在 GCS Bucket 中的文件。

我可以通过以下方式连接到我的存储桶:

auth.authenticate_user()
project_id = 'my-project'
!gcloud config set project {project_id}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行以下命令时:

!gsutil tar xvzf my-bucket/compressed-files.tar.gz
Run Code Online (Sandbox Code Playgroud)

我收到一个错误。我知道这gsutil可能功能有限,并且可能不适合我想做的事情,那么有其他方法可以做到这一点吗?

谢谢!

python-3.x google-cloud-storage google-cloud-platform google-colaboratory

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

CHAR_INT和INT主键之间的查询速度差异是否很大?

我知道通常最好的方法是对主键使用INTEGER字段,但是不幸的是,由于使用的API,我只能使用格式为CHAR_INT的主键(例如:ABC_12345)。

我将拥有大量数据(10亿条记录),并且优先考虑查询和插入速度,使用CHAR_INT主键是否会对速度产生较大影响?还是相对可以忽略不计?

另外,为字符串的CHAR部分创建数字ID会更有效吗?因此,使用前面的示例:ABC_12345将变成类似于1_12345。我知道它们都是字符串,只是想知道仅使用数字是否有效率。

我正在使用SQLite。

谢谢!

sql database sqlite relational-database

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