小编Anu*_*ngh的帖子

将数据帧作为 csv 文件从谷歌 colab 导出到谷歌驱动器

我想将数据帧作为 csv 从 colab 上传到谷歌驱动器。我尝试了很多但没有运气。我可以上传一个简单的文本文件,但无法上传 csv。

我尝试了以下代码:

import pandas as pd
df=pd.DataFrame({1:[1,2,3]})
df.to_csv('abc',sep='\t')
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
uploaded = drive.CreateFile({'title': 'sample.csv', 'mimeType':'csv'})
uploaded.SetContentFile('abc')
uploaded.Upload()
Run Code Online (Sandbox Code Playgroud)

python csv drive google-colaboratory

23
推荐指数
4
解决办法
6万
查看次数

如何在 PyTorch 中使用多处理?

我正在尝试使用具有复杂损失函数的 PyTorch。为了加速代码,我希望我可以使用 PyTorch 多处理包。

第一次试验,我将 10x1 的特征放入神经网络并得到 10x4 的输出。

之后,我想将 10x4 参数传递给一个函数来做一些计算。(以后的计算会很复杂。)

计算后,该函数将总共返回一个 10x1 的数组。该数组将设置为 NN_energy 并计算损失函数。

此外,我也想知道是否有另一种方法来创建一个向后数组来存储 NN_energy 数组,而不是使用

NN_energy = net(Data_in)[0:10,0]
Run Code Online (Sandbox Code Playgroud)

非常感谢。

完整代码:

import torch
import numpy as np
from torch.autograd import Variable 
from torch import multiprocessing

def func(msg,BOP):
    ans = (BOP[msg][0]+BOP[msg][1]/BOP[msg][2])*BOP[msg][3]
    return ans

class Net(torch.nn.Module):
    def __init__(self, n_feature, n_hidden_1, n_hidden_2, n_output):
        super(Net, self).__init__()
        self.hidden_1 = torch.nn.Linear(n_feature , n_hidden_1)  # hidden layer
        self.hidden_2 = torch.nn.Linear(n_hidden_1, n_hidden_2)  # hidden layer
        self.predict  = torch.nn.Linear(n_hidden_2, n_output  )  # output layer

    def …
Run Code Online (Sandbox Code Playgroud)

pytorch

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

使用 PyTorch 'nn.Sequential' 时如何访问网络权重?

我正在构建一个神经网络,但我不知道如何访问每一层的模型权重。

我试过了

model.input_size.weight
Run Code Online (Sandbox Code Playgroud)

代码:

input_size = 784
hidden_sizes = [128, 64]
output_size = 10

# Build a feed-forward network
model = nn.Sequential(nn.Linear(input_size, hidden_sizes[0]),
                      nn.ReLU(),
                      nn.Linear(hidden_sizes[0], hidden_sizes[1]),
                      nn.ReLU(),
                      nn.Linear(hidden_sizes[1], output_size),
                      nn.Softmax(dim=1))
Run Code Online (Sandbox Code Playgroud)

我希望得到重量,但我得到了

“顺序”对象没有属性“input_size”

python neural-network torch pytorch

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

Tensorflow/keras:“logits 和标签必须具有相同的第一维”如何​​压缩 logits 或扩展标签?

我正在尝试制作一个简单的 CNN 分类器模型。对于我的训练图像 (BATCH_SIZEx227x227x1) 和标签 (BATCH_SIZEx7) 数据集,我使用的是通过ImageDataGenerator. 我使用的损失函数是 tf.nn.sparse_categorical_crossentropy。当模型试图训练时,问题就出现了;模型(这里的批量大小为 1,用于我的简化实验)输出形状为 [1, 7],标签为形状 [7]。

我几乎可以肯定我知道原因,但我不确定如何解决它。我的假设是 sparse_categorical_crossentropy 正在压缩我的标签的维度(例如,当 BATCH_SIZE 为 2 时,输入的真实标签形状从 [2, 7] 压缩到 [14]),使我无法修复标签形状,而我所有修复 logits 形状的尝试都没有结果。

我最初尝试使用np.expand_dims. 但是无论我如何扩展维度,损失函数总是会使标签变平。

之后,我尝试tf.keras.layers.Flatten()在模型末尾添加 a以摆脱无关的第一维,但没有效果;我仍然遇到相同的确切错误。之后,尝试使用tf.keras.layers.Reshape((-1,))挤压所有尺寸。但是,这导致了不同的错误:

在 sparse_categorical_crossentropy logits = array_ops.reshape(output, [-1, int(output_shape[-1])]) TypeError: int返回非 int (type NoneType)

问题:如何将 logits 的形状压缩为与 sparse_categorical_crossentropy 返回的标签形状相同?

 ### BUILD SHAPE OF THE MODEL ###

 model = tf.keras.Sequential([
   tf.keras.layers.Conv2D(32, (3,3), padding='same', activation=tf.nn.relu, 
                          input_shape=(227,227,1)),
   tf.keras.layers.MaxPooling2D((2,2), strides=2),
   tf.keras.layers.Conv2D(64, (3,3), padding='same', activation=tf.nn.relu),
   tf.keras.layers.MaxPooling2D((2,2), strides=2), …
Run Code Online (Sandbox Code Playgroud)

python machine-learning keras tensorflow

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

将 tensorDataset 或 Dataloader 传递给 skorch

我想使用 skorch 在 Pytorch 中应用交叉验证,所以我准备了我的模型和我的 tensorDataset,它返回(图像、标题和标题长度),所以它有 X 和 Y,所以我无法在方法中设置 Y

net.fit(dataset)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时出现错误:

ValueError: Stratified CV 需要明确传递一个合适的 y

这是我的代码的一部分:

start = time.time()
net = NeuralNetClassifier(
        decoder, criterion= nn.CrossEntropyLoss,
        max_epochs=args.epochs,
        lr=args.lr,
        optimizer=optim.SGD,
        device='cuda',  # uncomment this to train with CUDA
       )
net.fit(dataset, y=None)
end = time.time()
Run Code Online (Sandbox Code Playgroud)

machine-learning computer-vision deep-learning pytorch skorch

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

如何检测给定图像中的所有矩形框

我尝试使用阈值、精明边缘和应用轮廓检测​​来检测图像中的所有矩形,但它无法检测到所有矩形。最后,我想到使用hough变换来检测相同的内容,但是当我尝试检测图像中的线条时,我得到了所有线条。我只需要检测图像中的矩形框。有人能帮我吗?我是 opencv 的新手。

输入图像

输入图像

代码:

import cv2
import matplotlib.pyplot as plt
import numpy as np

img =  cv2.imread("demo-hand-written.png",-1)
#img = cv2.resize(img,(1280,720))
edges = cv2.Canny(img,180,200)
kernel = np.ones((2,2),np.uint8)
d = cv2.dilate(edges,kernel,iterations = 2)
e = cv2.erode(img,kernel,iterations = 2)  
#ret, th = cv2.threshold(img, 220, 255, cv2.THRESH_BINARY_INV)

lines = cv2.HoughLinesP(edges,1,np.pi/180,30, maxLineGap=20,minLineLength=30)
for line in lines:
    #print(line)
    x1,y1,x2,y2 = line[0]
    cv2.line(img,(x1,y1),(x2,y2),(0,255,0),3)
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing

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

“RefVariable”对象没有属性“_id”

我正在尝试训练线性回归模型来预测金县的房价。我一步一步地遵循了教程。但是,当我最小化损失函数时,我得到了错误:

'RefVariable' object has no attribute '_id'
Run Code Online (Sandbox Code Playgroud)

我正在学习一个简单的教程,以学习如何训练简单的线性回归模型。我真的无法找到有关此类错误的任何信息。请注意,我在这个项目中使用了 Google Colab。这是整个错误:

'RefVariable' object has no attribute '_id'

The above exception was the direct cause of the following exception:

SystemError                               Traceback (most recent call last)
<ipython-input-31-17eaadb45902> in <module>()
     15   #minimize the loss function
     16 
---> 17   opt.minimize(lambda: loss_function(intercept,slope,price_batch,size_batch),var_list=[intercept,slope])
     18 
     19 

3 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/tape.py in watch(tape, tensor)
     57 def watch(tape, tensor):
     58   """Marks this tensor to be watched by the given tape."""
---> 59   pywrap_tensorflow.TFE_Py_TapeWatch(tape._tape, tensor)  # pylint: disable=protected-access
     60 
     61 

SystemError: <built-in …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

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

具有logits的tensorflow稀疏分类交叉熵

我是一名新手程序员,正在尝试遵循指南。但是,我遇到了一个问题。该指南说将损失函数定义为:

def loss(labels, logits):
    return tf.keras.losses.sparse_categorical_crossentropy(labels, logits, from_logits=True)
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

sparse_categorical_crossentropy()获得了意外的关键字参数'from_logits'

我的意思是这from_logits是函数中未指定的参数,该参数受文档支持,该文档tf.keras.losses.sparse_categorical_crossentropy()只有两个可能的输入。

有没有一种方法可以指定正在使用的日志,或者甚至是必要的?

python tensorflow

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

如何将一些 tensorflow 代码转换为 pytorch 版本

我最近开始使用pytorch。我之前一直在使用 tensorflow 框架。我有一段用 tensorflow 实现的代码,现在我想将其转换为 pytorch 版本。

我是pytorch新手,不熟悉它的功能,转换过程也不是很顺利,想咨询一下。

这是我要转换的代码?

def kl_loss_compute(logits1, logits2):
    """ KL loss
    """
    pred1 = tf.nn.softmax(logits1)
    pred2 = tf.nn.softmax(logits2)
    loss = tf.reduce_mean(tf.reduce_sum(pred2 * tf.log(1e-8 + pred2 / (pred1 + 1e-8)), 1))

    return loss
Run Code Online (Sandbox Code Playgroud)

蟒蛇:3.6,Ubuntu:16.04

logits1 和 logits2 是 FC 层的输出。它们的形状是 [batch, n]

python tensorflow pytorch

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

如何读取/解析目录中的所有 yaml 文件?

好吧,我正在尝试读取带有和 的utf-8目录中的 yaml 文件集合。我尝试使用,但它实际上返回一个文件列表,我需要读取文件并显示内容(键,值)。该目录只有 yaml 文件,并且 pyyaml 库已安装。python 2.7pyyamlos.listdir(os.getcwd())

yaml 文件的所有内容都类似于:

fruits:
 - bananas
 - apples
 - grapes
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

python yaml pyyaml python-2.7

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