我有这个非常简单的测试函数,我正在使用它来弄清楚const限定符发生了什么.
int test(const int* dummy)
{
*dummy = 1;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个问题让我对GCC 4.8.3产生了错误.然而这个编译:
int test(const int* dummy)
{
*(char*)dummy = 1;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
因此,似乎const限定符只有在我使用参数而不转换为其他类型时才有效.
最近我见过使用的代码
test(const void* vpointer, ...)
Run Code Online (Sandbox Code Playgroud)
至少对我来说,当我使用void*时,我倾向于将它转换为char*以用于堆栈中的指针算法或跟踪.const void*如何阻止子程序函数修改vpointer指向的数据?
当我运行时cdk deploy,出现以下错误:
Traceback (most recent call last):
File "app.py", line 3, in <module>
from aws_cdk import core
ModuleNotFoundError: No module named 'aws_cdk'
Run Code Online (Sandbox Code Playgroud)
我用 npm 安装了 cdk
npm install -g aws-cdk
Run Code Online (Sandbox Code Playgroud)
我通过以下方式激活了虚拟环境
source .env/bin/activate
Run Code Online (Sandbox Code Playgroud)
我使用的是python3.8。我安装了 aws_cdk 依赖项
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
编辑 python 文件时,我能够导入 aws_cdk 并成功运行各个函数。我认为问题在于目录cdk中/usr:
> which cdk
/usr/local/bin/cdk
Run Code Online (Sandbox Code Playgroud)
我认为它使用的是我的 python/usr/bin而不是虚拟环境。如何让 cdk 在我的虚拟环境中使用 python?
编辑:
要求.txt
-e .
Run Code Online (Sandbox Code Playgroud) 我正在研究cs231n,我很难理解这个索引是如何工作的.鉴于
x = [[0,4,1], [3,2,4]]
dW = np.zeros(5,6)
dout = [[[ 1.19034710e-01 -4.65005990e-01 8.93743168e-01 -9.78047129e-01
-8.88672957e-01 -4.66605091e-01]
[ -1.38617461e-03 -2.64569728e-01 -3.83712733e-01 -2.61360826e-01
8.07072009e-01 -5.47607277e-01]
[ -3.97087458e-01 -4.25187949e-02 2.57931759e-01 7.49565950e-01
1.37707667e+00 1.77392240e+00]]
[[ -1.20692745e+00 -8.28111550e-01 6.53041092e-01 -2.31247762e+00
-1.72370321e+00 2.44308033e+00]
[ -1.45191870e+00 -3.49328154e-01 6.15445782e-01 -2.84190582e-01
4.85997687e-02 4.81590106e-01]
[ -1.14828583e+00 -9.69055406e-01 -1.00773809e+00 3.63553835e-01
-1.28078363e+00 -2.54448436e+00]]]
Run Code Online (Sandbox Code Playgroud)
他们做的操作是
np.add.at(dW, x, dout)
x是二维数组.索引如何在这里工作?我浏览了np.ufunc.at文档,但他们有一个简单的例子,有1d数组和常量:
np.add.at(a, [0, 1, 2, 2], 1)
Run Code Online (Sandbox Code Playgroud) 我运行以下代码
W = tf.Variable(tf.zeros([1, 3]), dtype=tf.float32, name="W")
B = tf.constant([[1, 2, 3]], dtype=tf.float32, name="B")
act = tf.add(W, B)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
sess.run(act)
writer = tf.summary.FileWriter("./graphs", sess.graph)
writer.close()
Run Code Online (Sandbox Code Playgroud)
并用tensorboard验证它:
令我困惑的是read操作和之前的操作,表示为(W).当内部具有所有这些操作节点时,常量B直接指向操作.这是我的问题:Addtf.variable
什么是(W)操作?常数B是一个常数圆,表示一个常数.椭圆形节点表示操作节点.(W)似乎没有任何操作,但它用相同的椭圆形节点表示?该节点的工作是什么?
Addnode显式读取(W)带有read操作的节点,而不是常量节点B.为什么read变量节点需要?
我是初学python用户,我在python2.7和python3.4.3上运行了以下代码
import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as stats
alpha = 1
n = 100
u = stats.uniform(0,1)
F_inverse = lambda u: 1/alpha*np.log(1/(1-u))
v = np.array(map(F_inverse, u.rvs(n)))
print(v)
fig, ax = plt.subplots(1,1)
stats.probplot(v, (1,), dist='expon', plot=ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)
在python2上我得到一个像这样的好数组:
array([ 2.29133808e+00, 1.63236151e+00, 6.77776227e-01,
3.33668250e-01, 1.77830890e+00, 3.06193068e-01,
2.10677775e+00, 1.30525788e-01, 2.97056775e-01,
...
1.31463775e+00, 1.41840428e-03, 8.60594737e-01,
1.80644880e-01])
Run Code Online (Sandbox Code Playgroud)
在python3上,我得到这个:
array(<map object at 0x7f8aab6f3ef0>, dtype=object)
Run Code Online (Sandbox Code Playgroud)
如果我改变了这个:
v = np.array(map(F_inverse, u.rvs(n)))
Run Code Online (Sandbox Code Playgroud)
至
v = list(map(F_inverse, u.rvs(n)))
Run Code Online (Sandbox Code Playgroud)
它在两者上工作正常,但我想要使用数组.有没有办法让这个与np.array一起使用?
我使用tensorflow实现了一个简单的RNN,如下所示:
cell = tf.contrib.rnn.BasicRNNCell(state_size)
cell = tf.contrib.rnn.DropoutWrapper(cell, output_keep_prob=keep_prob)
rnn_outputs, final_state = tf.nn.dynamic_rnn(cell, batch_size, dypte=tf.float32)
Run Code Online (Sandbox Code Playgroud)
这很好用.但是我想将权重变量记录到摘要编写器中.有没有办法做到这一点?
顺便问一下,我们使用tf.nn.rnn_cell.BasicRNNCell或tf.contrib.rnn.BasicRNNCell?还是他们一模一样?
machine-learning neural-network tensorflow recurrent-neural-network tensorboard
我已经安装了 cdk 并且工作正常。当我尝试通过运行来更新它时
sudo npm install -g aws-cdk@latest
它给了我ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/aws-cdk/bin/cdk'错误。当我检查路径时,cdk存在所以我不确定为什么它无法找到该文件。
npm 版本:7.5.2
CDK 版本:1.86.0
我编写了一个简单的 cuda 代码来测试是否可以将指针向量复制到 GPU 类。
这就是我所拥有的:
测试.hpp:
class Class {
public:
Class() {};
virtual ~Class() {};
__host__ __device__ int print() { return 42; };
__host__ __device__ virtual int getClass() const = 0;
};
class AlphaClass : public Class
{
public:
AlphaClass() {
className = "Alpha";
classAvgGrade = 90;
classSize = 100;
for(int i = 0; i < classSize; i++){
classScores.push_back((90+i)%100);
}
};
~AlphaClass() { };
std::string className;
int classAvgGrade;
int classSize;
std::vector<int> classScores;
__host__ __device__ void incClassSize(){
classSize++;
};
__host__ …Run Code Online (Sandbox Code Playgroud) 我想生成如下所示的一系列直方图:
上面的可视化是在 tensorflow 中完成的,但我想在 matplotlib 上重现相同的可视化。
编辑:使用@SpghttCd 建议的 plt.fill_between,我有以下代码:
colors=cm.OrRd_r(np.linspace(.2, .6, 10))
plt.figure()
x = np.arange(100)
for i in range(10):
y = np.random.rand(100)
plt.fill_between(x, y + 10-i, 10-i,
facecolor=colors[i]
edgecolor='w')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这很好用,但是可以使用直方图而不是连续曲线吗?
与__init__.py在目录中,我能够将其导入
from subdirectory.file import *
Run Code Online (Sandbox Code Playgroud)
但我希望导入该子目录中的每个文件;所以我试过了
from subdirectory.* import *
Run Code Online (Sandbox Code Playgroud)
这不起作用。有什么建议?
当我运行tensorflow时,我得到:
ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录
所以我想降级我的tensorflow-gpu以使用cuda 8.我如何用pip做这个,我应该下载哪个版本?
我正在尝试在我的设备中创建Color对象.这是我所拥有的简化版本:
在Color.hpp中:
class Color {
public:
Color(){}
float r, g, b;
// other functions
}
Run Code Online (Sandbox Code Playgroud)
在test.cu中:
__global__ void runCuda(){
Color c = Color();
}
int main() {
runCuda<<<1,1>>>()
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误的说法
不允许从全局函数调用主机函数
所以这很好.我只需要在Color(){}函数前面添加__host__和__device__.
但后来我收到以下错误:
主机没有命名类型
所以根据我的理解,这种情况正在发生,因为我没有用nvcc编译它.问题是我正在使用CMake来构建我的项目.我不太清楚它是如何做到的,但它似乎是用c ++编译器和.cu用nvcc编译器编译.cpp文件.
但在我的设备中,我想创建Color对象.有没有办法在我的CMakefiles或我的代码中解决这个问题?或者我是否需要为所有现有课程创建cuda版本?
我提前道歉,因为这似乎是一个基本问题......
我正在尝试学习使用mujoco(链接在这里),并在其python绑定Makefile里面它有:
upload:
rm -rf dist
python setup.py sdist
twine upload dist/*
Run Code Online (Sandbox Code Playgroud)
是什么twin upload dist/*命令呢?另外,这要求我输入如下用户名和密码:
Uploading distributions to https://pypi.python.org/pypi
Enter your username: guest
Enter your password:
Uploading mujoco-py-0.5.7.tar.gz
HTTPError: 401 Client Error: You must be identified to edit package information for url: https://pypi.python.org/pypi
Makefile:2: recipe for target 'upload' failed
Run Code Online (Sandbox Code Playgroud)
这是要求我的电脑用户名和密码吗?
python ×5
tensorflow ×3
aws-cdk ×2
c++ ×2
cuda ×2
numpy ×2
python-3.x ×2
tensorboard ×2
arrays ×1
c ×1
histogram ×1
importerror ×1
matplotlib ×1
npm ×1
numpy-ufunc ×1
pointers ×1
pypi ×1
python-venv ×1
twine ×1
type-safety ×1