小编Aks*_*kar的帖子

不能使用估算器+数据集并训练不到一个纪元

TensorFlow 1.4将TF数据集移动到core(tf.data.Dataset),doc/tutorial建议tf.estimator用于训练模型.

但是,正如本页末尾所建议的那样,必须在input_fn函数内实例化数据集对象及其迭代器.这意味着每次调用都将重新开始数据集的迭代estimator.train(input_fn, steps).因此,调用步骤<在纪元中的样本数量,将导致在数据集的子集上训练模型.

因此我的问题.是否可以使用Estimator + Dataset实现类似的功能:

for i in range(num_epochs):
    # Train for some steps
    estimator.train(input_fn=train_input_fn, steps=valid_freq)

    validation_iterator.
    # Evaluate on the validation set (steps=None, we evaluate on the full validation set)
    estimator.evaluate(input_fn=valid_input_fn)
Run Code Online (Sandbox Code Playgroud)

没有在每次调用时从头开始训练样本迭代estimator.train(input_fn=train_input_fn, steps=valid_freq)

例如,与此处不同,实例化数据集及其迭代器input_fn?我尝试过,但它不工作,因为那么输入(从数据集迭代器)和模型(从估计model_fn)是不一样的图的一部分.

谢谢

相关的GitHub问题

tensorflow tensorflow-datasets tensorflow-estimator

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

过滤模型定义中的相关模型的问题

我正在尝试为我的模型编写一些自定义方法但是我收到以下错误:

Attribute Error: 'ForeignRelatedObjectsDescriptor' object has no attribute all|filter

运行此代码时会发生这种情况:

chore = Chore(name='Laundry')
chore.schedule_set.create(week_day='monday', time_due='17:30:00')
chore.scheduled()

有没有人对如何做这项工作或我可能缺少什么有任何建议?我检查了Django文档,但它们似乎只涵盖了模型的最基本用途.

models.py:

from django.db import models
from datetime import date, timedelta

class ChoreManager(models.Manager):
    def by_day(self, week_day):
        if week_day == 'today':
            week_day = date.today().strftime("%A")

        chores = self.filter(week_day=week_day)

        if chores.count() > 0:
            return chores
        else:
            return False

    def today(self):
        return self.by_day(week_day='today')

class Chore(models.Model):
    chores = ChoreManager()
    name = models.CharField(max_length=50)
    notes = models.TextField(null=True)

    def scheduled(self, week_day=None):
        if week_day is None:
            schedule_count = Chore.schedule_set.all().count()
        else:
            if week_day == 'today': …

python django-models

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

软标签上的 scikit-learn 分类

根据文档,可以为 指定不同的损失函数SGDClassifier。据我所知,这log loss是一个cross-entropy理论上可以处理软标签的损失函数,即以某些概率 [0,1] 给出的标签。

问题是:是否可以使用开箱即SGDClassifier用的log loss功能来解决软标签的分类问题?如果不是 - 如何使用 scikit-learn 解决这个任务(软标签上的线性分类)?

更新:

方法target是标记的,根据问题的性质,硬标签不会给出好的结果。但这仍然是一个分类问题(不是回归),我不想保留对prediction回归的概率解释,所以回归也不能开箱即用。交叉熵损失函数可以target自然地处理软标签。scikit-learn 中线性分类器的所有损失函数似乎都只能处理硬标签。

所以问题大概是:

例如,如何为 指定我自己的损失函数SGDClassifier。它似乎scikit-learn不坚持这里的模块化方法,需要在其源代码中的某处进行更改

scikit-learn

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

如何使用 traefik 记录 request_body?

如何配置 traefik 在日志文件中记录 request_body?

我的配置文件如下:

traefik.toml 

logLevel="INFO"

defaultEntryPoints = ["http", "https"]

[accessLog]
format = "json"
Run Code Online (Sandbox Code Playgroud)

post logging request traefik

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

有没有什么方法可以将路径附加到python中的环境变量“PATH”

我想使用 python 脚本将路径附加到现有环境变量 PATH 中。

我尝试使用os.environ['path'] = 'C:\foo\bin:%PATH%',但它删除了所有现有路径并创建 'C:\foo\bin:%PATH%'为新路径值。

os.environ['path'] = 'C:\foo\bin:%PATH%'
Run Code Online (Sandbox Code Playgroud)

python

8
推荐指数
3
解决办法
5851
查看次数

Swift,AVAudioRecorder:错误317:ca_debug_string:inPropertyData == NULL

我知道有些线程出现此错误消息,但是它们并没有真正提供问题的答案,这就是为什么我决定打开另一个线程并再次询问...希望其他人遇到相同的问题,并解决了它。

import UIKit
import AVFoundation

class RecordSoundsViewController: UIViewController, AVAudioRecorderDelegate {

// MARK: IBOutlets for Buttons
@IBOutlet weak var recordingLable: UILabel!
@IBOutlet weak var recordButton: UIButton!
@IBOutlet weak var stopRecordingButton: UIButton!

var audioRecorder : AVAudioRecorder!

override func viewDidLoad() {
    super.viewDidLoad()
    stopRecordingButton.isEnabled = false
    // Do any additional setup after loading the view, typically from a nib.
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
}

@IBAction func recordAudio(_ sender: Any) {
    configureUI(true) // Call to set Buttons enabled state correct

    // …
Run Code Online (Sandbox Code Playgroud)

xcode avfoundation swift

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

Python:如何用数据帧中的条件替换NaN?

我有一个数据df1框,对应nodes于网络中的egelist 和value节点本身,如下所示:

df
    node_i    node_j    value_i   value_j
0    3         4          89         33
1    3         2          89         NaN
2    3         5          89         69
3    0         2          45         NaN
4    0         3          45         89
5    1         2          109        NaN
6    1         8          109        NaN
Run Code Online (Sandbox Code Playgroud)

我想添加一个w对应于value_jif是否有值的列.如果value_jNaN我想设置w作为平均的相邻节点的值的i.在node_i仅具有NaN设置值的相邻节点的情况下w=1.

所以最终的数据框应该像愚弄:

df
    node_i    node_j    value_i   value_j      w
0    3         4          89         33       33 …
Run Code Online (Sandbox Code Playgroud)

python apply pandas

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

如何检查列表中的所有元素是否在pandas列中

我有一个数据框和一个列表:

df = pd.DataFrame({'id':[1,2,3,4,5,6,7,8], 
    'char':[['a','b'],['a','b','c'],['a','c'],['b','c'],[],['c','a','d'],['c','d'],['a']]})

names = ['a','c']
Run Code Online (Sandbox Code Playgroud)

我想仅在列中同时存在a并且c都存在的情况下获取行char。(这里的顺序无关紧要)

预期产量:

       char  id                                                                                                                      
1  [a, b, c]   2                                                                                                                      
2     [a, c]   3                                                                                                                      
5  [c, a, d]   6   
Run Code Online (Sandbox Code Playgroud)

我的努力

true_indices = []
for idx, row in df.iterrows():
    if all(name in row['char'] for name in names):
        true_indices.append(idx)


ids = df[df.index.isin(true_indices)]
Run Code Online (Sandbox Code Playgroud)

这给了我正确的输出,但是对于大型数据集来说太慢了,因此我正在寻找更有效的解决方案。

python python-3.x pandas

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

为什么这个简单的numpy乘法运算会引发"无效数量的参数"错误?

这有效

numpy.multiply(13, 3)
Run Code Online (Sandbox Code Playgroud)

事实并非如此

numpy.multiply(x1=13, x2=3)
Run Code Online (Sandbox Code Playgroud)

它提出了一个invalid number of arguments例外.有人可以解释为什么请.我试图按照文档进行操作,但是参数列表中包含的字符/*字符有点丢失.如果您也可以解释这些含义,我们将不胜感激.

python numpy

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

需要一个类似字节的对象,而不是“_io.BufferedReader”

我正在尝试使用以下代码加载转储的文件:

cols = None
with open('./experiments/columns.p', 'rb') as p:
    cols = pkl.loads(p).read()
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

“需要一个类似字节的对象,而不是‘_io.BufferedReader’”

python-3.x

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