Software Packages
Caffe / Torch / Theano / TensorFlow
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 1 22 Feb 2016
Milestones were due 2/17; looking at them this week
Assignment 3 due Wednesday 2/22
If you are using Terminal: BACK UP YOUR CODE!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 2 22 Feb 2016
Caffe
http://caffe.berkeleyvision.org
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 3 22 Feb 2016
From U.C. Berkeley
Written in C++
Has Python and MATLAB bindings
Good for training or finetuning feedforward models
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 4 22 Feb 2016
Don’t be afraid to read the code!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 5 22 Feb 2016
| Caffe: Main classes |
|
|
|
||
|
|
|
Layer: Transforms bottom blobs to top blobs (header + source)
Net: Many layers; computes gradients via forward / backward (header source)
InnerProductLayer
|
|
|
data |
|
|
|||||||
|
diffs |
|
||||||||||
DataLayer
Fei Lecture 12 6 22 Feb 2016
“Typed JSON” from Google
Define “message types” in .proto files
.proto file
https://developers.google.com/protocol-buffers/
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 7 22 Feb 2016
“Typed JSON” from Google
Define “message types” in .proto files
Serialize instances to text files (.prototxt)
.proto file
.prototxt file
name: “John Doe”
id: 1234
email<EMAIL_ADDRESS>https://developers.google.com/protocol-buffers/
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 8 22 Feb 2016
● “Typed JSON”
from Google
● Define “message
types” in .proto files
● Serialize instances to
.proto file Java class
text files (.prototxt)
● Compile classes for
.prototxt file
name: “John Doe”
id: 1234
C++ class
different languages
email<EMAIL_ADDRESS>https://developers.google.com/protocol-buffers/
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 9 22 Feb 2016
https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto <- All Caffe proto types defined here, good documentation!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 10 22 Feb 2016
Caffe: Training / Finetuning
No need to write code!
Convert data (run a script)
Define net (edit prototxt)
Define solver (edit prototxt)
Train (with pretrained weights) (run a script)
|
2016 |
Caffe Step 1: Convert Data
DataLayer reading from LMDB is the easiest
Create LMDB using convert_imageset
Need text file where each line is
“[path/to/image.jpeg] [label]”
Create HDF5 file yourself using h5py
|
2016 |
ImageDataLayer: Read from image files
WindowDataLayer: For detection
HDF5Layer: Read from HDF5 file
From memory, using Python interface
All of these are harder to use (except Python)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 13 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 14 22 Feb 2016
Layers and Blobs
often have same
name!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 15 22 Feb 2016
Layers and Blobs
often have same
name!
Learning rates
(weight + bias)
Regularization
(weight + bias)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 16 22 Feb 2016
Layers and Blobs often have same name!
Learning rates
(weight + bias)
Regularization
(weight + bias)
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Number of output
classes
Lecture 12 17 22 Feb 2016
Layers and Blobs
often have same
name!
Set these to 0 to
freeze a layer
Number of output
classes
Learning rates
(weight + bias)
Regularization
(weight + bias)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 18 22 Feb 2016
.prototxt can get ugly for big models
ResNet-152 prototxt is 6775 lines long!
Not “compositional”; can’t easily define a residual block and reuse
https://github.com/KaimingHe/deep-residual-networks/blob/master/prototxt/ResNet-152-deploy.prototxt
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 19 22 Feb 2016
Original prototxt:
layer {
name: "fc7"
type: "InnerProduct" inner_product_param { num_output: 4096
}
}
[... ReLU, Dropout] layer {
name: "fc8"
type: "InnerProduct" inner_product_param { num_output: 1000
}
}
Pretrained weights:
“fc7.weight”: [values]
“fc7.bias”: [values]
“fc8.weight”: [values]
“fc8.bias”: [values]
Modified prototxt:
layer {
name: "fc7"
type: "InnerProduct" inner_product_param { num_output: 4096
}
}
[... ReLU, Dropout] layer {
name: "my-fc8" type: "InnerProduct" inner_product_param {
num_output: 10
}
}
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 20 22 Feb 2016
Original prototxt:
layer {
name:
type: "InnerProduct" inner_product_param { num_output: 4096
}
}
[... ReLU, Dropout] layer {
name: "fc8"
type: "InnerProduct" inner_product_param { num_output: 1000
}
}
Same name:
weights copied
Pretrained weights:
“fc8.weight”: [values]
“fc8.bias”: [values]
Modified prototxt:
layer {
name:
type: "InnerProduct" inner_product_param { num_output: 4096
}
}
[... ReLU, Dropout] layer {
name: "my-fc8" type: "InnerProduct" inner_product_param {
num_output: 10
}
}
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 21 22 Feb 2016
Original prototxt:
layer {
name: "fc7"
type: "InnerProduct" inner_product_param { num_output: 4096
}
}
[... ReLU, Dropout] layer {
name:
type: "InnerProduct" inner_product_param { num_output: 1000
}
}
Same name:
weights copied
Pretrained weights:
“fc7.weight”: [values]
“fc7.bias”: [values]
Different name:
weights reinitialized
Modified prototxt:
layer {
name: "fc7"
type: "InnerProduct" inner_product_param { num_output: 4096
}
}
[... ReLU, Dropout] layer {
name:
type: "InnerProduct" inner_product_param {
num_output: 10
}
}
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 22 22 Feb 2016
Write a prototxt file defining a SolverParameter
If finetuning, copy existing solver. prototxt file
Change net to be your net
Change snapshot_prefix to your output
Reduce base learning rate (divide by 100)
Maybe change max_iter and snapshot
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 23 22 Feb 2016
./build/tools/caffe train \ -gpu 0 \
-model path/to/trainval.prototxt \ -solver path/to/solver.prototxt \
-weights path/to/pretrained_weights.caffemodel
https://github.com/BVLC/caffe/blob/master/tools/caffe.cpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 24 22 Feb 2016
./build/tools/caffe train \
-model path/to/trainval.prototxt \ -solver path/to/solver.prototxt \
-weights path/to/pretrained_weights.caffemodel
-gpu -1
https://github.com/BVLC/caffe/blob/master/tools/caffe.cpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 25 22 Feb 2016
./build/tools/caffe train \
-model path/to/trainval.prototxt \ -solver path/to/solver.prototxt \
-weights path/to/pretrained_weights.caffemodel
-gpu all
https://github.com/BVLC/caffe/blob/master/tools/caffe.cpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 26 22 Feb 2016
AlexNet, VGG, GoogLeNet, ResNet, plus others
https://github.com/BVLC/caffe/wiki/Model-Zoo
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 27 22 Feb 2016
Not much documentation…
Read the code! Two most important files:
Exports Blob, Layer, Net, and Solver classes
Adds extra methods to Net class
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 28 22 Feb 2016
Good for:
Interfacing with numpy
Extract features: Run net forward
Compute gradients: Run net backward (DeepDream, etc)
Define layers in Python with numpy (CPU only)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 29 22 Feb 2016
(+) Good for feedforward networks
(+) Good for finetuning existing networks
(+) Train models without writing any code!
(+) Python interface is pretty useful!
(-) Need to write C++ / CUDA for new GPU layers
(-) Not good for recurrent networks
(-) Cumbersome for big networks (GoogLeNet, ResNet)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 30 22 Feb 2016
Torch
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 31 22 Feb 2016
From NYU + IDIAP
Written in C and Lua
Used a lot a Facebook, DeepMind
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 32 22 Feb 2016
Torch: Lua
|
||||||
|
||||||
|
|
|||||
|
|
|||||
|
||||||
|
|
|||||
|
||||||
|
||||||
|
|
|||||
|
|
|||||
|
||||||
|
|
http://tylerneylon.com/a/learn-lua/ | ||||
|
|
|
||||
Torch tensors are just like numpy arrays
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 34 22 Feb 2016
Torch tensors are just like numpy arrays
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 35 22 Feb 2016
Torch tensors are just like numpy arrays
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 36 22 Feb 2016
Like numpy, can easily change data type:
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 37 22 Feb 2016
Unlike numpy, GPU is just a datatype away:
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 38 22 Feb 2016
Documentation on GitHub:
https://github.com/torch/torch7/blob/master/doc/tensor.md https://github.com/torch/torch7/blob/master/doc/maths.md
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 39 22 Feb 2016
nn module lets you easily build and train neural nets
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 40 22 Feb 2016
module lets you easily build and train neural nets
Build a two-layer ReLU net
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 41 22 Feb 2016
module lets you easily build and train neural nets
Get weights and gradient for entire network
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 42 22 Feb 2016
module lets you easily build and train neural nets
Use a softmax loss function
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 43 22 Feb 2016
module lets you easily build and train neural nets
Generate random data
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 44 22 Feb 2016
module lets you easily build and train neural nets
Forward pass: compute scores and loss
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 45 22 Feb 2016
module lets you easily build and train neural nets
Backward pass: Compute
gradients. Remember to set
weight gradients to zero!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 46 22 Feb 2016
module lets you easily build and train neural nets
Update: Make a gradient descent step
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 47 22 Feb 2016
Running on GPU is easy:
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 48 22 Feb 2016
Running on GPU is easy:
Import a few new packages
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 49 22 Feb 2016
Running on GPU is easy:
Import a few new packages
Cast network and criterion
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 50 22 Feb 2016
Running on GPU is easy:
Import a few new packages
Cast network and criterion
Cast data and labels
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 51 22 Feb 2016
optim package implements different update rules: momentum, Adam, etc
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 52 22 Feb 2016
optim package implements different update rules: momentum, Adam, etc
Import optim package
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 53 22 Feb 2016
optim package implements different update rules: momentum, Adam, etc
Import optim package
Write a callback function that returns loss and gradients
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 54 22 Feb 2016
optim package implements different update rules: momentum, Adam, etc
Import optim package
Write a callback function that returns loss and gradients
state variable holds hyperparameters, cached values, etc; pass it to adam
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 55 22 Feb 2016
Caffe has Nets and Layers;
Torch just has Modules
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 56 22 Feb 2016
Caffe has Nets and Layers; Torch just has Modules
Modules are classes written in Lua; easy to read and write
Forward / backward written in Lua
using Tensor methods
Same code runs on CPU / GPU
https://github.com/torch/nn/blob/master/Linear.lua
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 57 22 Feb 2016
Caffe has Nets and Layers; Torch just has Modules
Modules are classes written in Lua; easy to read and write
updateOutput: Forward pass; compute output
https://github.com/torch/nn/blob/master/Linear.lua
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 58 22 Feb 2016
Caffe has Nets and Layers; Torch just has Modules
Modules are classes written in Lua; easy to read and write
updateGradInput: Backward; compute gradient of input
https://github.com/torch/nn/blob/master/Linear.lua
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 59 22 Feb 2016
Caffe has Nets and Layers; Torch just has Modules
Modules are classes written in Lua; easy to read and write
accGradParameters: Backward; compute gradient of weights
https://github.com/torch/nn/blob/master/Linear.lua
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 60 22 Feb 2016
Tons of built-in modules and loss functions
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 61 22 Feb 2016
Torch: Modules
Tons of built-in modules and loss functions
New ones all the time:
Added 2/19/2016
Added 2/16/2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 62 22 Feb 2016
Writing your own modules is easy!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 63 22 Feb 2016
Container modules allow you to combine multiple modules
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 64 22 Feb 2016
Container modules allow you to combine multiple modules
x
mod1
mod2
out
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 65 22 Feb 2016
Torch: Modules
Container modules allow you to combine multiple modules
| x |
|
|||
| mod1 |
|
|
||
| mod2 | ||||
| out |
|
|
||
| Fei-Fei Li & Andrej Karpathy & Justin Johnson |
|
Torch: Modules
Container modules allow you to combine multiple modules
| x |
|
|
x2 | ||
| mod1 |
|
|
|
mod2 | |
| mod2 | |||||
| out |
|
|
|
out[2] | |
| Fei-Fei Li & Andrej Karpathy & Justin Johnson |
|
|
Use nngraph to build modules
that combine their inputs in
complex ways
Inputs: x, y, z
Outputs: c
a = x + y
b = a ☉ z
c = a + b
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 68 22 Feb 2016
| Torch: nngraph x | y |
|
| + |
Use nngraph to build modules that combine their inputs in complex ways
Inputs: x, y, z
Outputs: c
a = x + y
b = a ☉ z
c = a + b
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 69 22 Feb 2016
| Torch: nngraph x | y |
|
| + |
Use nngraph to build modules that combine their inputs in complex ways
Inputs: x, y, z
Outputs: c
a = x + y
b = a ☉ z
c = a + b
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 70 22 Feb 2016
loadcaffe: Load pretrained Caffe models: AlexNet, VGG, some others
https://github.com/szagoruyko/loadcaffe
GoogLeNet v1: https://github.com/soumith/inception.torch
GoogLeNet v3: https://github.com/Moodstocks/inception-v3.torch
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 71 22 Feb 2016
After installing torch, use luarocks to install or update Lua packages
(Similar to pip install from Python)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 72 22 Feb 2016
https://github.com/twitter/torch-autograd
https://github.com/hughperkins/cltorch, https://github.com/hughperkins/clnn
https://luarocks.org/modules/luarocks/lua-cjson
https://github.com/deepmind/torch-hdf5
torch.cudnn: Bindings for NVIDIA cuDNN kernels
torch-hdf5: Read and write HDF5 files from Torch
lua-cjson: Read and write JSON files from Lua
cltorch, clnn: OpenCL backend for Torch, and port of nn
torch-autograd: Automatic differentiation; sort of like more powerful
nngraph, similar to Theano or TensorFlow
fbcunn: Facebook: FFT conv, multi-GPU (DataParallel, ModelParallel)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 73 22 Feb 2016
Step 1: Preprocess data; usually use a Python script to dump data to HDF5
Step 2: Train a model in Lua / Torch; read from HDF5 datafile, save trained model to disk
Step 3: Use trained model for something, often with an evaluation script
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 74 22 Feb 2016
(https://github.com/jcjohnson/torch-rnn/blob/master/sample.lua)
(https://github.com/jcjohnson/torch-rnn/blob/master/train.
(https://github.com/jcjohnson/torch-rnn/blob/master/scripts/preprocess.py)
Torch: Typical Workflow
Example: https://github.com/jcjohnson/torch-rnn
Step 1: Preprocess data; usually use a Python script to dump data to HDF5
Step 2: Train a model in Lua / Torch; read from HDF5 datafile, save trained model to disk
lua )
Step 3: Use trained model for something, often with an evaluation script
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 75 22 Feb 2016
(-) Lua
(-) Less plug-and-play than Caffe
You usually write your own training code
(+) Lots of modular pieces that are easy to combine
(+) Easy to write your own layer types and run on GPU
(+) Most of the library code is in Lua, easy to read
(+) Lots of pretrained models!
(-) Not great for RNNs
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 76 22 Feb 2016
Theano
http://deeplearning.net/software/theano/
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 77 22 Feb 2016
From Yoshua Bengio’s group at University of Montreal
Embracing computation graphs, symbolic computation
High-level wrappers: Keras, Lasagne
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 78 22 Feb 2016
x y z
+
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 79 22 Feb 2016
x y z
+
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 80 22 Feb 2016
| x |
|
|
|
|
|
|
|||
|
||||
|
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 81 22 Feb 2016
x y z
+
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Compute intermediates and outputs symbolically
Lecture 12 82 22 Feb 2016
x y z
+
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Compile a function that produces c from x, y, z (generates code)
Lecture 12 83 22 Feb 2016
x y z
+
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Run the function, passing some numpy arrays (may run on GPU)
Lecture 12 84 22 Feb 2016
x y z
+
a
☉
b
+
c
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Repeat the same computation using numpy operations (runs on CPU)
Lecture 12 85 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 86 22 Feb 2016
Define symbolic variables:
x = data
y = labels
w1 = first-layer weights
w2 = second-layer weights
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 87 22 Feb 2016
Forward: Compute scores (symbolically)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 88 22 Feb 2016
Forward: Compute probs, loss (symbolically)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 89 22 Feb 2016
Compile a function that
computes loss, scores
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 90 22 Feb 2016
Stuff actual numpy arrays into the function
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 91 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 92 22 Feb 2016
Same as before: define variables, compute scores and loss symbolically
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 93 22 Feb 2016
Theano computes gradients for us symbolically!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 94 22 Feb 2016
Now the function returns loss, scores, and gradients
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 95 22 Feb 2016
Use the function to perform gradient descent!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 96 22 Feb 2016
Problem: Shipping weights and gradients to CPU on every iteration to update...
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 97 22 Feb 2016
Same as before: Define dimensions, define symbolic variables for x, y
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 98 22 Feb 2016
Define weights as shared variables that persist in the graph between calls; initialize with numpy arrays
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 99 22 Feb 2016
Same as before: Compute scores, loss, gradients symbolically
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 100 22 Feb 2016
Compiled function inputs are x and y; weights live in the graph
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 101 22 Feb 2016
Function includes an update that updates weights on every call
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 102 22 Feb 2016
To train the net, just call function repeatedly!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 103 22 Feb 2016
Conditionals: The ifelse and switch functions allow conditional control flow in the graph
Loops: The scan function allows for (some types) of loops in the computational graph; good for RNNs
Derivatives: Efficient Jacobian / vector products with R and L operators, symbolic hessians (gradient of gradient)
Sparse matrices, optimizations, etc
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 104 22 Feb 2016
Experimental model parallelism:
http://deeplearning.net/software/theano/tutorial/using_multi_gpu.html
Data parallelism using platoon:
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 105 22 Feb 2016
Lasagne gives layer abstractions, sets up weights for you, writes update rules for you
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 106 22 Feb 2016
Set up symbolic Theano variables for data, labels
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 107 22 Feb 2016
Forward: Use Lasagne layers to set up layers; don’t set up weights explicitly
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 108 22 Feb 2016
Forward: Use Lasagne layers to compute loss
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 109 22 Feb 2016
Lasagne gets parameters, and
writes the update rule for you
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 110 22 Feb 2016
Same as Theano: compile a function with updates, train model by calling function with arrays
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 111 22 Feb 2016
keras is a layer on top of Theano; makes common things easy to do
(Also supports TensorFlow backend)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 112 22 Feb 2016
keras is a layer on top of Theano; makes common things easy to do
Set up a two-layer ReLU net with softmax
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 113 22 Feb 2016
keras is a layer on top of Theano; makes common things easy to do
We will optimize the model using SGD with Nesterov momentum
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 114 22 Feb 2016
keras is a layer on top of Theano; makes common things easy to do
Generate some random data and
train the model
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 115 22 Feb 2016
Problem: It crashes, stack trace and error message not useful :(
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 116 22 Feb 2016
Solution: y should be one-hot
(too much API for me … )
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 117 22 Feb 2016
https://github.com/kitofans/caffe-theano-conversion
http://sklearn-theano.github.io
Theano: Pretrained Models
Lasagne Model Zoo has pretrained common architectures:
https://github.com/Lasagne/Recipes/tree/master/modelzoo
AlexNet with weights: https://github.com/uoguelph-mlrg/theano_alexnet
sklearn-theano: Run OverFeat and GoogLeNet forward, but no fine-tuning?
caffe-theano-conversion: CS 231n project from last year: load models and weights from caffe! Not sure if full-featured
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 118 22 Feb 2016
https://github.com/kitofans/caffe-theano-conversion
http://sklearn-theano.github.io
| Theano: Pretrained Models |
|
||||
AlexNet with weights: https://github.com/uoguelph-mlrg/theano_alexnet
sklearn-theano: Run OverFeat and GoogLeNet forward, but no fine-tuning?
caffe-theano-conversion: CS 231n project from last year: load models and weights from caffe! Not sure if full-featured
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 119 22 Feb 2016
(+) Python + numpy
(+) Computational graph is nice abstraction
(+) RNNs fit nicely in computational graph
(-) Raw Theano is somewhat low-level
(+) High level wrappers (Keras, Lasagne) ease the pain
(-) Error messages can be unhelpful
(-) Large models can have long compile times
(-) Much “fatter” than Torch; more magic
(-) Patchy support for pretrained models
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 120 22 Feb 2016
TensorFlow
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 121 22 Feb 2016
From Google
Very similar to Theano - all about computation graphs
Easy visualizations (TensorBoard)
Multi-GPU and multi-node training
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 122 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 123 22 Feb 2016
Create placeholders for data and labels: These will be fed to the graph
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 124 22 Feb 2016
Create Variables to hold
weights; similar to Theano
shared variables
Initialize variables with numpy arrays
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 125 22 Feb 2016
Forward: Compute scores, probs, loss (symbolically)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 126 22 Feb 2016
Running train_step will use SGD to minimize loss
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 127 22 Feb 2016
Create an artificial dataset; y is one-hot like Keras
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 128 22 Feb 2016
Actually train the model
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 129 22 Feb 2016
Tensorboard makes it easy to visualize what’s happening inside your models
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 130 22 Feb 2016
Tensorboard makes it easy to visualize what’s happening inside your models
Same as before, but now we create summaries for loss and
weights
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 131 22 Feb 2016
Tensorboard makes it easy to visualize what’s happening inside your models
Create a special “merged” variable and a SummaryWriter object
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 132 22 Feb 2016
Tensorboard makes it easy to visualize what’s happening inside your models
In the training loop, also run merged and pass its value to the writer
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 133 22 Feb 2016
Start Tensorboard server, and we get graphs!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 134 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 135 22 Feb 2016
Add names to placeholders and
variables
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 136 22 Feb 2016
Add names to placeholders and variables
Break up the forward pass with name scoping
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 137 22 Feb 2016
Tensorboard shows the graph!
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 138 22 Feb 2016
Tensorboard shows the graph!
Name scopes expand to show individual operations
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 139 22 Feb 2016
Data parallelism:
synchronous or asynchronous
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 140 22 Feb 2016
| TensorFlow: Multi-GPU | ||
| Data parallelism: |
|
|
| synchronous or asynchronous | ||
|
||
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 141 22 Feb 2016
Single machine: Many machines:
Like other frameworks Not open source (yet) =(
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 142 22 Feb 2016
You can get a pretrained version of Inception here:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/README.md
(In an Android example?? Very well-hidden)
The only one I could find =(
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 143 22 Feb 2016
(+) Python + numpy
(+) Computational graph abstraction, like Theano; great for RNNs
(+) Much faster compile times than Theano
(+) Slightly more convenient than raw Theano?
(+) TensorBoard for visualization
(+) Data AND model parallelism; best of all frameworks
(+/-) Distributed models, but not open-source yet
(-) Slower than other frameworks right now
(-) Much “fatter” than Torch; more magic
(-) Not many pretrained models
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 144 22 Feb 2016
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
||||
|
|
|
|
|
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 145 22 Feb 2016
Extract AlexNet or VGG features?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 146 22 Feb 2016
Extract AlexNet or VGG features? Use Caffe
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 147 22 Feb 2016
Fine-tune AlexNet for new classes?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 148 22 Feb 2016
Fine-tune AlexNet for new classes? Use Caffe
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 149 22 Feb 2016
Image Captioning with finetuning?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 150 22 Feb 2016
Image Captioning with finetuning?
-> Need pretrained models (Caffe, Torch, Lasagne)
-> Need RNNs (Torch or Lasagne)
-> Use Torch or Lasagna
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 151 22 Feb 2016
Segmentation? (Classify every pixel)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 152 22 Feb 2016
Segmentation? (Classify every pixel)
-> Need pretrained model (Caffe, Torch, Lasagna)
-> Need funny loss function
-> If loss function exists in Caffe: Use Caffe
-> If you want to write your own loss: Use Torch
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 153 22 Feb 2016
Object Detection?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 154 22 Feb 2016
Object Detection?
-> Need pretrained model (Torch, Caffe, Lasagne)
-> Need lots of custom imperative code (NOT Lasagne) -> Use Caffe + Python or Torch
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 155 22 Feb 2016
Language modeling with new RNN structure?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 156 22 Feb 2016
Language modeling with new RNN structure?
-> Need easy recurrent nets (NOT Caffe, Torch)
-> No need for pretrained models
-> Use Theano or TensorFlow
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 157 22 Feb 2016
Implement BatchNorm?
-> Don’t want to derive gradient? Theano or TensorFlow -> Implement efficient backward pass? Use Torch
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 158 22 Feb 2016
Feature extraction / finetuning existing models: Use Caffe
Complex uses of pretrained models: Use Lasagne or Torch
Write your own layers: Use Torch
Crazy RNNs: Use Theano or Tensorflow
Huge model, need model parallelism: Use TensorFlow
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 159 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 160 22 Feb 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 161 22 Feb 2016
https://github.com/BVLC/caffe/blob/master/include/caffe/blob.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 162 22 Feb 2016
● N-dimensional array for
storing activations and
weights
https://github.com/BVLC/caffe/blob/master/include/caffe/blob.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 163 22 Feb 2016
N-dimensional array for storing activations and weights
Template over datatype
https://github.com/BVLC/caffe/blob/master/include/caffe/blob.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 164 22 Feb 2016
N-dimensional array for storing activations and weights
Template over datatype
Two parallel tensors:
data: values
diffs: gradients
https://github.com/BVLC/caffe/blob/master/include/caffe/blob.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 165 22 Feb 2016
N-dimensional array for storing activations and weights
Template over datatype
Two parallel tensors:
data: values
diffs: gradients
Stores CPU / GPU versions of each tensor
https://github.com/BVLC/caffe/blob/master/include/caffe/blob.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 166 22 Feb 2016
A small unit of computation
https://github.com/BVLC/caffe/blob/master/include/caffe/layer.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 167 22 Feb 2016
A small unit of computation
● Forward: Use “bottom” data to compute “top” data
https://github.com/BVLC/caffe/blob/master/include/caffe/layer.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 168 22 Feb 2016
A small unit of computation
Forward: Use “bottom” data to compute “top” data
Backward: Use “top”
diffs to compute
“bottom” diffs
https://github.com/BVLC/caffe/blob/master/include/caffe/layer.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 169 22 Feb 2016
● A small unit of computation
Forward: Use “bottom” data to compute “top” data
● Backward: Use “top” diffs to compute “bottom” diffs
Separate CPU / GPU implementations
https://github.com/BVLC/caffe/blob/master/include/caffe/layer.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 170 22 Feb 2016
● Tons of different layer types:
...
https://github.com/BVLC/caffe/tree/master/src/caffe/layers
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 171 22 Feb 2016
Tons of different layer types:
batch norm
convolution
cuDNN convolution
...
.cpp: CPU implementation
.cu: GPU implementation
https://github.com/BVLC/caffe/tree/master/src/caffe/layers
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 172 22 Feb 2016
Collects layers into a DAG
Run all or part of the net forward and backward
https://github.com/BVLC/caffe/blob/master/include/caffe/net.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 173 22 Feb 2016
https://github.com/BVLC/caffe/blob/master/include/caffe/solver.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 174 22 Feb 2016
● Trains a Net by running it forward / backward, updating weights
https://github.com/BVLC/caffe/blob/master/include/caffe/solver.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 175 22 Feb 2016
Trains a Net by running it forward / backward, updating weights
Handles snapshotting, restoring from snapshots
https://github.com/BVLC/caffe/blob/master/include/caffe/solver.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 176 22 Feb 2016
Trains a Net by running it forward / backward, updating weights
Handles snapshotting,
restoring from snapshots
Subclasses implement different update rules
https://github.com/BVLC/caffe/blob/master/include/caffe/sgd_solvers.hpp
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 12 177 22 Feb 2016


COVID-19 ESTIMATOR
Impact Currently Infected
Severe Impact Currently Infected
Impact Infections By Requested Time
Severe Impact Infections By Requested Time
Impact Severe Cases By Requested Time
Severe Impact Severe Cases By Requested Time
Impact Hospital Beds By Requested Time
Severe Impact Hospital Beds By Requested Time
Impact Cases For ICU By Requested Time
Severe Impact Cases For ICU By Requested Time
Impact Cases For Ventilators By Requested Time
Severe Impact Cases For Ventilators By Requested Time
Severe Impact Dollars In Flight


Containing the Old and New Testaments
Another Testament of Jesus Christ
of The Chruch of Jesus Christ of Latter-day Saints


--- layout: post status: publish published: true title: BAM EventStream in PipelineTesting author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 390 wordpress_url: http://winterdom.com/2007/11/bameventstreaminpipelinetesting date: '2007-11-14 07:31:25 +0000' date_gmt: '2007-11-14 07:31:25 +0000' categories: - BizTalk tags: [] comments: [] ---
Last night someone brought to my attention that the current versions of PipelineTesting always return null from the IPipelineContext.GetEventStream() method. This is expected to return an EventStream object so that pipeline components can write to BAM, but I never had bothered looking it up before.
I've now fixed this so that the property returns an EventStream-derived class that simply swallows all calls to it silently, to avoid tying the library to having any specific BAM infrastructure in place, and this will be included in the next version of the library.
Is this good enough? Is there anyone who would prefer to have a way to override this behavior so that a real, connected BAM EventStream object is provided? Does someone need a way to check as part of the test assertions that specific events were indeed written to the EventStream? If so, I may look into a way to support this nicely, otherwise, I'll leave it as is for now.


Dashboard
Products
Users
Messages
Analytics
Payments
HOME
Product Name
Product Name
Product Name
Select Category
Electronics
Beauty
Kitchen
Home and Living
Baby, Kids and Toys
Fashion
Product Description
Add Product Description
Product Image
Example file input
Add Product


Comments allow you to "turn off" lines of code.
Most editors have a shortcut toggle a comment
⌘ + / on the mac
⌘ + /
This will work HTML, CSS and JavaScript.


404
This is the main and the most popular series made by Napalm. As of right now, he has made 2 episodes of 404. It is really good! Watch it here!
Other series are also listed!
404
The Runner
The Runner 2nd Season
The Runner 3rd Season
Death Clan
Infiltration
Red vs Blue vs Black


AROMASIN - exemestane tablet
Physicians Total Care, Inc.
The active ingredient is a white to slightly yellow crystalline powder with a molecular weight of 296.41. Exemestane is freely soluble in N, N-dimethylformamide, soluble in methanol, and practically insoluble in water.
Each AROMASIN Tablet contains the following inactive ingredients: mannitol, crospovidone, polysorbate 80, hypromellose, colloidal silicon dioxide, microcrystalline cellulose, sodium starch glycolate, magnesium stearate, simethicone, polyethylene glycol 6000, sucrose, magnesium carbonate, titanium dioxide, methylparaben, and polyvinyl alcohol.
Breast cancer cell growth may be estrogen-dependent. Aromatase is the principal enzyme that converts androgens to estrogens both in pre- and postmenopausal women. While the main source of estrogen (primarily estradiol) is the ovary in premenopausal women, the principal source of circulating estrogens in postmenopausal women is from conversion of adrenal and ovarian androgens (androstenedione and testosterone) to estrogens (estrone and estradiol) by the aromatase enzyme in peripheral tissues. Estrogen deprivation through aromatase inhibition is an effective and selective treatment for some postmenopausal patients with hormone-dependent breast cancer.
Exemestane is an irreversible, steroidal aromatase inactivator, structurally related to the natural substrate androstenedione. It acts as a false substrate for the aromatase enzyme, and is processed to an intermediate that binds irreversibly to the active site of the enzyme causing its inactivation, an effect also known as "suicide inhibition." Exemestane significantly lowers circulating estrogen concentrations in postmenopausal women, but has no detectable effect on adrenal biosynthesis of corticosteroids or aldosterone. Exemestane has no effect on other enzymes involved in the steroidogenic pathway up to a concentration at least 600 times higher than that inhibiting the aromatase enzyme.
PharmacokineticsFollowing oral administration to healthy postmenopausal women, exemestane is rapidly absorbed. After maximum plasma concentration is reached, levels decline polyexponentially with a mean terminal half-life of about 24 hours. Exemestane is extensively distributed and is cleared from the systemic circulation primarily by metabolism. The pharmacokinetics of exemestane are dose proportional after single (10 to 200 mg) or repeated oral doses (0.5 to 50 mg). Following repeated daily doses of exemestane 25 mg, plasma concentrations of unchanged drug are similar to levels measured after a single dose.
Pharmacokinetic parameters in postmenopausal women with advanced breast cancer following single or repeated doses have been compared with those in healthy, postmenopausal women. Exemestane appeared to be more rapidly absorbed in the women with breast cancer than in the healthy women, with a mean tmax of 1.2 hours in the women with breast cancer and 2.9 hours in the healthy women. After repeated dosing, the average oral clearance in women with advanced breast cancer was 45% lower than the oral clearance in healthy postmenopausal women, with corresponding higher systemic exposure. Mean AUC values following repeated doses in women with breast cancer (75.4 ng∙h/mL) were about twice those in healthy women (41.4 ng∙h/mL).
AbsorptionFollowing oral administration of radiolabeled exemestane, at least 42% of radioactivity was absorbed from the gastrointestinal tract. Exemestane plasma levels increased by approximately 40% after a high-fat breakfast.
DistributionExemestane is distributed extensively into tissues. Exemestane is 90% bound to plasma proteins and the fraction bound is independent of the total concentration. Albumin and α1-acid glycoprotein both contribute to the binding. The distribution of exemestane and its metabolites into blood cells is negligible.
Metabolism and ExcretionFollowing administration of radiolabeled exemestane to healthy postmenopausal women, the cumulative amounts of radioactivity excreted in urine and feces were similar (42 ± 3% in urine and 42 ± 6% in feces over a 1-week collection period). The amount of drug excreted unchanged in urine was less than 1% of the dose. Exemestane is extensively metabolized, with levels of the unchanged drug in plasma accounting for less than 10% of the total radioactivity. The initial steps in the metabolism of exemestane are oxidation of the methylene group in position 6 and reduction of the 17-keto group with subsequent formation of many secondary metabolites. Each metabolite accounts only for a limited amount of drug-related material. The metabolites are inactive or inhibit aromatase with decreased potency compared with the parent drug. One metabolite may have androgenic activity (see Pharmacodynamics, Other Endocrine Effects). Studies using human liver preparations indicate that cytochrome P-450 3A4 (CYP 3A4) is the principal isoenzyme involved in the oxidation of exemestane.
Special Populations GeriatricHealthy postmenopausal women aged 43 to 68 years were studied in the pharmacokinetic trials. Age-related alterations in exemestane pharmacokinetics were not seen over this age range.
GenderThe pharmacokinetics of exemestane following administration of a single, 25-mg tablet to fasted healthy males (mean age 32 years) were similar to the pharmacokinetics of exemestane in fasted healthy postmenopausal women (mean age 55 years).
RaceThe influence of race on exemestane pharmacokinetics has not been evaluated.
Hepatic InsufficiencyThe pharmacokinetics of exemestane have been investigated in subjects with moderate or severe hepatic insufficiency (Childs-Pugh B or C). Following a single 25-mg oral dose, the AUC of exemestane was approximately 3 times higher than that observed in healthy volunteers (see PRECAUTIONS).
Renal InsufficiencyThe AUC of exemestane after a single 25-mg dose was approximately 3 times higher in subjects with moderate or severe renal insufficiency (creatinine clearance less than 35 mL/min/1.73 m2) compared with the AUC in healthy volunteers (see PRECAUTIONS).
PediatricThe pharmacokinetics of exemestane have not been studied in pediatric patients.
Drug-Drug InteractionsExemestane is metabolized by cytochrome P-450 3A4 (CYP 3A4) and aldoketoreductases. It does not inhibit any of the major CYP isoenzymes, including CYP 1A2, 2C9, 2D6, 2E1, and 3A4. In a clinical pharmacokinetic study, ketoconazole showed no significant influence on the pharmacokinetics of exemestane. Although no other formal drug-drug interaction studies have been conducted, significant effects on exemestane clearance by CYP isoenzymes inhibitors appear unlikely. In a pharmacokinetic interaction study of 10 healthy postmenopausal volunteers pretreated with potent CYP 3A4 inducer rifampicin 600 mg daily for 14 days followed by a single dose of exemestane 25 mg, the mean plasma Cmax and AUC 0–∞ of exemestane were decreased by 41% and 54%, respectively (see PRECAUTIONS and DOSAGE AND ADMINISTRATION).
PharmacodynamicsEffect on EstrogensMultiple doses of exemestane ranging from 0.5 to 600 mg/day were administered to postmenopausal women with advanced breast cancer. Plasma estrogen (estradiol, estrone, and estrone sulfate) suppression was seen starting at a 5-mg daily dose of exemestane, with a maximum suppression of at least 85% to 95% achieved at a 25-mg dose. Exemestane 25 mg daily reduced whole body aromatization (as measured by injecting radiolabeled androstenedione) by 98% in postmenopausal women with breast cancer. After a single dose of exemestane 25 mg, the maximal suppression of circulating estrogens occurred 2 to 3 days after dosing and persisted for 4 to 5 days.
Effect on CorticosteroidsIn multiple-dose trials of doses up to 200 mg daily, exemestane selectivity was assessed by examining its effect on adrenal steroids. Exemestane did not affect cortisol or aldosterone secretion at baseline or in response to ACTH at any dose. Thus, no glucocorticoid or mineralocorticoid replacement therapy is necessary with exemestane treatment.
Other Endocrine EffectsExemestane does not bind significantly to steroidal receptors, except for a slight affinity for the androgen receptor (0.28% relative to dihydrotestosterone). The binding affinity of its 17-dihydrometabolite for the androgen receptor, however, is 100-times that of the parent compound. Daily doses of exemestane up to 25 mg had no significant effect on circulating levels of androstenedione, dehydroepiandrosterone sulfate, or 17-hydroxyprogesterone, and were associated with small decreases in circulating levels of testosterone. Increases in testosterone and androstenedione levels have been observed at daily doses of 200 mg or more. A dose-dependent decrease in sex hormone binding globulin (SHBG) has been observed with daily exemestane doses of 2.5 mg or higher. Slight, nondose-dependent increases in serum luteinizing hormone (LH) and follicle-stimulating hormone (FSH) levels have been observed even at low doses as a consequence of feedback at the pituitary level. Exemestane 25 mg daily had no significant effect on thyroid function [free triiodothyronine (FT3), free thyroxine (FT4) and thyroid stimulating hormone (TSH)].
Coagulation and Lipid EffectsIn study 027 of postmenopausal women with early breast cancer treated with exemestane (N=73) or placebo (N=73), there was no change in the coagulation parameters activated partial thromboplastin time [APTT], prothrombin time [PT] and fibrinogen. Plasma HDL cholesterol was decreased 6–9% in exemestane treated patients; total cholesterol, LDL cholesterol, triglycerides, apolipoprotein-A1, apolipoprotein-B, and lipoprotein-a were unchanged. An 18% increase in homocysteine levels was also observed in exemestane treated patients compared with a 12% increase seen with placebo.
The Intergroup Exemestane Study 031 (IES) was a randomized, double-blind, multicenter, multinational study comparing exemestane (25 mg/day) versus tamoxifen (20 or 30 mg/day) in postmenopausal women with early breast cancer. Patients who remained disease-free after receiving adjuvant tamoxifen therapy for 2 to 3 years were randomized to receive 3 to 2 years of AROMASIN or tamoxifen to complete a total of 5 years of hormonal therapy.
The primary objective of the study was to determine whether, in terms of disease-free survival, it was more effective to switch to AROMASIN rather than continuing tamoxifen therapy for the remainder of five years.
The secondary objectives were to compare the two regimens in terms of overall survival and long-term tolerability. Time to contralateral invasive breast cancer and distant recurrence-free survival were also evaluated.
A total of 4724 patients in the intent-to-treat (ITT) analysis were randomized to AROMASIN (exemestane tablets) 25 mg once daily (N = 2352) or to continue to receive tamoxifen once daily at the same dose received before randomization (N = 2372). Demographics and baseline tumor characteristics are presented in Table 1. Prior breast cancer therapy is summarized in Table 2.
| Parameter | Exemestane | Tamoxifen |
|
Age (years): |
(N = 2352) | (N = 2372) |
| Median age (range) |
63.0 (38.0 - 96.0) |
63.0 (31.0 - 90.0) |
| Race, n (%): |
||
| Caucasian |
2315 (98.4) |
2333 (98.4) |
| Hispanic |
13 (0.6) |
13 (0.5) |
| Asian |
10 (0.4) |
9 (0.4) |
| Black |
7 (0.3) |
10 (0.4) |
| Other/not reported |
7 (0.3) |
7 (0.3) |
|
Nodal status, n (%): |
||
| Negative |
1217 (51.7) |
1228 (51.8) |
| Positive |
1051 (44.7) |
1044 (44.0) |
| 1-3 Positive nodes |
721 (30.7) |
708 (29.8) |
| 4-9 Positive nodes |
239 (10.2) |
244 (10.3) |
| Greater than 9 Positive nodes |
88 (3.7) |
86 (3.6) |
| Not reported |
3 (0.1) |
6 (0.3) |
| Unknown or missing |
84 (3.6) |
100 (4.2) |
|
Histologic type, n (%): |
||
| Infiltrating ductal |
1777 (75.6) |
1830 (77.2) |
| Infiltrating lobular |
341 (14.5) |
321 (13.5) |
| Other |
231 (9.8) |
213 (9.0) |
| Unknown or missing |
3 (0.1) |
8 (0.3) |
|
Receptor status (*), n (%): |
||
| ER and PgR Positive |
1331 (56.6) |
1319 (55.6) |
| ER Positive and PgR Negative/Unknown |
677 (28.8) |
692 (29.2) |
| ER Unknown and PgR Positive (**)/Unknown |
288 (12.2) |
291 (12.3) |
| ER Negative and PgR Positive |
6 (0.3) |
7 (0.3) |
| ER Negative and PgR Negative/Unknown (none positive) |
48 (2.0) |
58 (2.4) |
| Missing |
2 (0.1) |
5 (0.2) |
|
Tumor Size, n (%): |
||
| Less than or equal to 0.5 cm |
58 (2.5) |
46 (1.9) |
| Greater than 0.5 - 1.0 cm |
315 (13.4) |
302 (12.7) |
| Greater than 1.0 - 2 cm |
1031 (43.8) |
1033 (43.5) |
| Greater than 2.0 - 5.0 cm |
833 (35.4) |
883 (37.2) |
| Greater than 5.0 cm |
62 (2.6) |
59 (2.5) |
| Not reported |
53 (2.3) |
49 (2.1) |
|
Tumor Grade, n (%): |
||
| G1 |
397 (16.9) |
393 (16.6) |
| G2 |
977 (41.5) |
1007 (42.5) |
| G3 |
454 (19.3) |
428 (18.0) |
| G4 Unknown/Not Assessed/Not reported |
23 (1.0 501 (21.3) |
19 (0.8) 525 (22.1) |
|
Parameter |
Exemestane (N = 2352) |
Tamoxifen (N = 2372) |
|
Type of surgery, n (%): |
||
| Mastectomy |
1232 (52.4) |
1242 (52.4) |
| Breast-conserving |
1116 (47.4) |
1123 (47.3) |
| Unknown or missing |
4 (0.2) |
7 (0.3) |
| Radiotherapy to the breast, n (%): | ||
| Yes |
1524 (64.8) |
1523 (64.2) |
| No |
824 (35.5) |
843 (35.5) |
| Not reported |
4 (0.2) |
6 (0.3) |
| Prior therapy, n (%): | ||
| Chemotherapy |
774 (32.9) |
769 (32.4) |
| Hormone replacement therapy |
567 (24.1) |
561 (23.7) |
| Bisphosphonates |
43 (1.8) |
34 (1.4) |
| Duration of tamoxifen therapy at randomization | ||
|
months: |
||
| Median (range) |
28.5 (15.8 - 52.2) |
28.4 (15.6 - 63.0) |
| Tamoxifen dose, n (%): | ||
| 20 mg |
2270 (96.5) |
2287 (96.4) |
| 30 mg (*) |
78 (3.3) |
75 (3.2) |
| Not reported |
4 (0.2) |
10 (0.4) |
|
Event |
First Event N (%) |
||
| Exemestane (N = 2352) |
Tamoxifen (N = 2372) |
||
| Loco-regional recurrence |
34 (1.4) |
45 (1.90) |
|
| Distant recurrence |
126 (5.36) |
183 (7.72) |
|
| Second primary - contralateral breast cancer |
7 (0.30) |
25 (1.05) |
|
| Death - breast cancer |
1 (0.04 |
6 (0.25) |
|
| Death - other reason |
41 (1.74) |
43 (1.81) |
|
| Death - missing/unknown |
3 (0.13) |
5 (0.21) |
|
| Ipsilateral breast cancer |
1 (0.04) |
0 |
|
|
Total number of events |
213 (9.06) |
307 (12.94) |
|
| Hazard Ratio |
p-value |
|
|
ITT Population |
(95% CI) |
(log-rank test) |
| Disease free survival | 0.69 (0.58 - 0.82) |
0.00003 |
| Time to contralateral breast cancer | 0.32 (0.15 - 0.72) |
0.00340 |
| Distant recurrence free survival | 0.74 (0.62 - 0.90) |
0.00207 |
| Overall survival | 0.86 (0.67 - 1.10) |
0.22962 |
| ER and/or PgR positive | ||
| Disease free survival | 0.65 (0.53 - 0.79) |
0.00001 |
| Time to contralateral breast cancer | 0.22 (0.08 - 0.57) |
0.00069 |
| Distant recurrence free survival | 0.73 (0.59 - 0.90) |
0.00367 |
| Overall survival | 0.88 (0.67 - 1.17) |
0.37460 |
Exemestane 25 mg administered once daily was evaluated in a randomized double-blind, multicenter, multinational comparative study and in two multicenter single-arm studies of postmenopausal women with advanced breast cancer who had disease progression after treatment with tamoxifen for metastatic disease or as adjuvant therapy. Some patients also have received prior cytotoxic therapy, either as adjuvant treatment or for metastatic disease.
The primary purpose of the three studies was evaluation of objective response rate (complete response [CR] and partial response [PR]). Time to tumor progression and overall survival were also assessed in the comparative trial. Response rates were assessed based on World Health Organization (WHO) criteria, and in the comparative study, were submitted to an external review committee that was blinded to patient treatment. In the comparative study, 769 patients were randomized to receive AROMASIN (exemestane tablets) 25 mg once daily (N = 366) or megestrol acetate 40 mg four times daily (N = 403). Demographics and baseline characteristics are presented in Table 5.
| Parameter |
AROMASIN (N = 366) |
Megestrol Acetate (N = 403) |
| Median Age (range) |
65 (35-89) |
65 (30-91) |
| ECOG Performance Status 0 1 2 |
167 (46%) 162 (44%) 34 (9%) |
187 (46%) 172 (43%) 42 (10%) |
| Receptor Status ER and/or PgR + ER and PgR unknown Responders to prior tamoxifen NE for response to prior tamoxifen |
246 (67%) 116 (32%) 68 (19%) 46 (13%) |
274 (68%) 128 (32%) 85 (21%) 41 (10%) |
| Site of Metastasis Visceral + other sites Bone only Soft tissue only Bone & soft tissue |
207 (57%) 61 (17%) 54 (15%) 43 (12%) |
239 (59%) 73 (18%) 51 (13%) 38 (9%) |
| Measureable Disease |
287 (78%) |
314 (78%) |
| Prior Tamoxifen Therapy Adjuvant or Neoadjuvant Advanced Disease, Outcome CR, PR or SD greater than or equal to 6 months SD less than months, PD or NE |
145 (40%) 179 (49%) 42 (12%) |
152 (38%) 210 (52%) 41 (10%) |
| Prior Chemotherapy For advanced disease + adjuvant Adjuvant only No chemotherapy |
58 (16%) 104 (28%) 203 (56%) |
67 (17%) 108 (27%) 226 (56%) |
|
Response Characteristics |
AROMASIN (N =366) |
Megestrol Acetate (N=403) |
|
| Objective Response Rate = CR + PR (%) |
15.0 |
12.4 |
|
| Difference in Response Rate (AR-MA) 95% C.I. |
2.6 7.5, -2.3 |
||
| CR (%) |
2.2 |
1.2 |
|
| PR (%) |
12.8 |
11.2 |
|
| SD > 24 Weeks (%) |
21.3 |
21.1 |
|
| Median Duration of Response (weeks) |
76.1 |
71.0 |
|
| Median TTP (weeks) Hazard Ratio (AR-MA) |
20.3 |
0.84 |
16.6 |
There were too few deaths occurring across treatment groups to draw conclusions on overall survival differences. The Kaplan-Meier curve for time to tumor progression in the comparative study is shown in Figure 2.
| Figure 2. Time to Tumor Progression in the Comparative Study of Postmenopausal Women With Advanced Breast Cancer Whose Disease Had Progressed After Tamoxifen Therapy |
AROMASIN is indicated for adjuvant treatment of postmenopausal women with estrogen-receptor positive early breast cancer who have received two to three years of tamoxifen and are switched to AROMASIN for completion of a total of five consecutive years of adjuvant hormonal therapy.
AROMASIN is indicated for the treatment of advanced breast cancer in postmenopausal women whose disease has progressed following tamoxifen therapy.
AROMASIN Tablets are contraindicated in patients with a known hypersensitivity to the drug or to any of the excipients.
AROMASIN Tablets may cause fetal harm when administered to a pregnant woman. Radioactivity related to 14C-exemestane crossed the placenta of rats following oral administration of 1 mg/kg exemestane. The concentration of exemestane and its metabolites was approximately equivalent in maternal and fetal blood. When rats were administered exemestane from 14 days prior to mating until either days 15 or 20 of gestation, and resuming for the 21 days of lactation, an increase in placental weight was seen at 4 mg/kg/day (approximately 1.5 times the recommended human daily dose on a mg/m2 basis). Prolonged gestation and abnormal or difficult labor was observed at doses equal to or greater than 20 mg/kg/day. Increased resorption, reduced number of live fetuses, decreased fetal weight, and retarded ossification were also observed at these doses. No malformations were noted when exemestane was administered to pregnant rats during the organogenesis period at doses up to 810 mg/kg/day (approximately 320 times the recommended human dose on a mg/m2 basis). Daily doses of exemestane, given to rabbits during organogenesis caused a decrease in placental weight at 90 mg/kg/day (approximately 70 times the recommended human daily dose on a mg/m2 basis). Abortions, an increase in resorptions, and a reduction in fetal body weight were seen at 270 mg/kg/day. There was no increase in the incidence of malformations in rabbits at doses up to 270 mg/kg/day (approximately 210 times the recommended human dose on a mg/m2 basis).
There are no studies in pregnant women using AROMASIN. AROMASIN is indicated for postmenopausal women. If there is exposure to AROMASIN during pregnancy, the patient should be apprised of the potential hazard to the fetus and potential risk for loss of the pregnancy.
AROMASIN Tablets should not be administered to premenopausal women. AROMASIN should not be coadministered with estrogen-containing agents as these could interfere with its pharmacologic action.
Hepatic InsufficiencyThe pharmacokinetics of exemestane have been investigated in subjects with moderate or severe hepatic insufficiency (Childs-Pugh B or C). Following a single 25-mg oral dose, the AUC of exemestane was approximately 3 times higher than that observed in healthy volunteers. The safety of chronic dosing in patients with moderate or severe hepatic impairment has not been studied. Based on experience with exemestane at repeated doses up to 200 mg daily that demonstrated a moderate increase in non-life threatening adverse events, dosage adjustment does not appear to be necessary.
Renal InsufficiencyThe AUC of exemestane after a single 25-mg dose was approximately 3 times higher in subjects with moderate or severe renal insufficiency (creatinine clearance less than 35 mL/min/1.73 m2) compared with the AUC in healthy volunteers. The safety of chronic dosing in patients with moderate or severe renal impairment has not been studied. Based on experience with exemestane at repeated doses up to 200 mg daily that demonstrated a moderate increase in non-life threatening adverse events, dosage adjustment does not appear to be necessary.
Laboratory TestsIn patients with early breast cancer the incidence of hematological abnormalities of Common Toxicity Criteria (CTC) grade greater than or equal to 1 was lower in the exemestane treatment group, compared with tamoxifen. Incidence of CTC grade 3 or 4 abnormalities was low (approximately 0.1%) in both treatment groups. Approximately 20% of patients receiving exemestane in clinical studies in advanced breast cancer, experienced CTC grade 3 or 4 lymphocytopenia. Of these patients, 89% had a pre-existing lower grade lymphopenia. Forty percent of patients either recovered or improved to a lesser severity while on treatment. Patients did not have a significant increase in viral infections, and no opportunistic infections were observed. Elevations of serum levels of AST, ALT, alkaline phosphatase and gamma glutamyl transferase less than greater than 5 times the upper value of the normal range (i.e., greater than or equal to CTC grade 3) have been rarely reported in patients treated for advanced breast cancer but appear mostly attributable to the underlying presence of liver and/or bone metastases. In the comparative study in advanced breast cancer patients, CTC grade 3 or 4 elevation of gamma glutamyl transferase without documented evidence of liver metastasis was reported in 2.7% of patients treated with AROMASIN and in 1.8% of patients treated with megestrol acetate.
In patients with early breast cancer, elevations in bilirubin, alkaline phosphatase, and creatinine were more common in those receiving exemestane than either tamoxifen or placebo. Treatment emergent bilirubin elevations (any CTC grade) occurred in 5.3% of exemestane patients and 0.8% of tamoxifen patients on the IES, and in 6.9% of exemestane treated patients vs. 0% of placebo treated patients on the 027 study. CTC grade 3–4 increases in bilirubin occurred in 0.9% of exemestane treated patients compared to 0.1% of tamoxifen treated patients. Alkaline phosphatase elevations of any CTC grade occurred in 15.0% of exemestane treated patients on the IES compared to 2.6% of tamoxifen treated patients, and in 13.7% of exemestane treated patients compared to 6.9% of placebo treated patients on study 027. Creatinine elevations occurred in 5.8% of exemestane treated patients and 4.3% of tamoxifen treated patients on the IES and in 5.5% of exemestane treated patients and 0% of placebo treated patients on study 027.
Reductions in bone mineral density (BMD) over time are seen with exemestane use. Table 7 describes changes in BMD from baseline to 24 months in patients receiving exemestane compared to patients receiving tamoxifen (IES) or placebo (027). Concomitant use of bisphosphonates, Vitamin D supplementation and Calcium was not allowed.
|
IES |
IES |
027 |
027 |
|
|
BMD |
Exemestane N=29 |
Tamoxifen N=38 |
Exemestane N=59 |
Placebo N=65 |
| Lumbar spine (%) |
-3.14 |
-0.18 |
-3.51 |
-2.35 |
| Femoral neck (%) |
-4.15 |
-0.33 |
-4.57 |
-2.59 |
Exemestane is extensively metabolized by CYP 3A4, but coadministration of ketoconazole, a potent inhibitor of CYP 3A4, has no significant effect on exemestane pharmacokinetics. Significant pharmacokinetic interactions mediated by inhibition of CYP isoenzymes therefore appear unlikely. Co-medications that induce CYP 3A4 (e.g., rifampicin, phenytoin, carbamazepine, phenobarbital, or St. John's wort) may significantly decrease exposure to exemestane. Dose modification is recommended for patients who are also receiving a potent CYP 3A4 inducer (see DOSAGE AND ADMINISTRATION and CLINICAL PHARMACOLOGY).
Drug/Laboratory Tests InteractionsNo clinically relevant changes in the results of clinical laboratory tests have been observed.
Carcinogenesis, Mutagenesis, Impairment of FertilityA 2-year carcinogenicity study in mice at doses of 50, 150 and 450 mg/kg/day exemestane (gavage), resulted in an increased incidence of hepatocellular adenomas and/or carcinomas in both genders at the high dose level. Plasma AUCs(0–24hr) at the high dose were 2575 ± 386 and 5667 ± 1833 ng.hr/mL in males and females (approx. 34 and 75 fold the AUC in postmenopausal patients at the recommended clinical dose). An increased incidence of renal tubular adenomas was observed in male mice at the high dose of 450 mg/kg/day. Since the doses tested in mice did not achieve an MTD, neoplastic findings in organs other than liver and kidneys remain unknown.
A separate carcinogenicity study was conducted in rats at the doses of 30, 100 and 315 mg/kg/day exemestane (gavage) for 92 weeks in males and 2 years in females. No evidence of carcinogenic activity up to the highest dose tested of 315 mg/kg/day was observed in females. The male rat study was inconclusive since it was terminated prematurely at Week 92. At the highest dose, plasma AUC(0–24hr) levels in male (1418 ± 287 ng.hr/mL) and female (2318 ± 1067 ng.hr/mL) rats were 19 and 31 fold higher than those measured in postmenopausal cancer patients, receiving the recommended clinical dose.
Exemestane was not mutagenic in vitro in bacteria (Ames test) or mammalian cells (V79 Chinese hamster lung cells). Exemestane was clastogenic in human lymphocytes in vitro without metabolic activation but was not clastogenic in vivo (micronucleus assay in mouse bone marrow). Exemestane did not increase unscheduled DNA synthesis in rat hepatocytes when tested in vitro.
In a pilot reproductive study in rats, male rats were treated with doses of 125–1000 mg/kg/day exemestane, beginning 63 days prior to and during cohabitation. Untreated female rats showed reduced fertility when mated to males treated with greater than or equal to 500 mg/kg/day exemestane (greater than or equal to 200 times the recommended human dose on a mg/m2 basis). In a separate study, exemestane was given to female rats at 4–100 mg/kg/day beginning 14 days prior to mating and through day 15 or 20 of gestation. Exemestane increased the placental weights at greater than or equal to 4 mg/kg/day greater than or equal to 1.5 times the human dose on a mg/m2 basis). Exemestane showed no effects on ovarian function, mating behavior, and conception rate in rats given doses up to 20 mg/kg/day (approximately 8 times the recommended human dose on a mg/m2 basis), however, decreases in mean litter size and fetal body weight, along with delayed ossification were evidenced at greater than or equal to 20 mg/kg/day. In general toxicology studies, changes in the ovary, including hyperplasia, an increase in the incidence of ovarian cysts and a decrease in corpora lutea were observed with variable frequency in mice, rats and dogs at doses that ranged from 3–20 times the human dose on a mg/m2 basis.
PregnancyPregnancy Category DSee WARNINGS.
Nursing MothersAROMASIN is only indicated in postmenopausal women. However, radioactivity related to exemestane appeared in rat milk within 15 minutes of oral administration of radiolabeled exemestane. Concentrations of exemestane and its metabolites were approximately equivalent in the milk and plasma of rats for 24 hours after a single oral dose of 1 mg/kg 14C-exemestane. It is not known whether exemestane is excreted in human milk. Because many drugs are excreted in human milk, caution should be exercised if a nursing woman is inadvertently exposed to AROMASIN (see WARNINGS).
Pediatric UseThe safety and effectiveness of AROMASIN in pediatric patients have not been evaluated.
Geriatric UseThe use of AROMASIN in geriatric patients does not require special precautions.
AROMASIN tolerability in postmenopausal women with early breast cancer was evaluated in two well-controlled trials: the IES study (see CLINICAL STUDIES) and the 027 study (a randomized, placebo-controlled, double-blind, parallel group study specifically designed to assess the effects of exemestane on bone metabolism, hormones, lipids and coagulation factors over 2 years of treatment).
Certain adverse events, expected based on the known pharmacological properties and side effect profiles of test drugs, were actively sought through a positive checklist. Signs and symptoms were graded for severity using CTC in both studies. Within the IES study, the presence of some illnesses/conditions was monitored through a positive checklist without assessment of severity. These included myocardial infarction, other cardiovascular disorders, gynecological disorders, osteoporosis, osteoporotic fractures, other primary cancer, and hospitalizations.
The median duration of adjuvant treatment was 27.4 months and 27.3 months for patients receiving AROMASIN or tamoxifen, respectively, within the IES study and 23.9 months for patients receiving AROMASIN or placebo within the 027 study. Median duration of observation after randomization for AROMASIN was 34.5 months and for tamoxifen was 34.6 months. Median duration of observation was 30 months for both groups in the 027 study.
AROMASIN was generally well tolerated and adverse events were usually mild to moderate. Within the IES study discontinuations due to adverse events occurred in 6.3% and 5.1% of patients receiving AROMASIN and tamoxifen, respectively, and in 12.3% and 4.1% of patients receiving exemestane or placebo within study 027. Deaths due to any cause were reported for 1.3% of the exemestane-treated patients and 1.4% of the tamoxifen-treated patients within the IES study. There were 6 deaths due to stroke on the exemestane arm compared to 2 on tamoxifen. There were 5 deaths due to cardiac failure on the exemestane arm compared to 2 on tamoxifen.
The incidence of cardiac ischemic events (myocardial infarction, angina and myocardial ischemia) was 1.6% in exemestane treated patients and 0.6% in tamoxifen treated patients in the IES study. Cardiac failure was observed in 0.4% of exemestane treated patients and 0.3% of tamoxifen treated patients.
Treatment-emergent adverse events and illnesses including all causalities and occurring with an incidence of ≥5% in either treatment group of the IES study during or within one month of the end of treatment are shown in Table 8.
|
% of patients |
|||
| Body system and Adverse Event by MedDRA dictionary |
AROMASIN 25 mg daily (N=2252) |
Tamoxifen 20 mg daily† (N=2280) |
|
|
Eye Visual disturbances‡ |
5.0 |
3.8 |
|
|
Gastrointestinal Nausea‡ |
8.5 |
8.7 |
|
|
General Disorders Fatigue‡ |
16.1 |
14.7 |
|
|
Musculoskeletal Arthralgia Pain in limb Back pain Osteoarthritis |
14.6 9.0 8.6 5.9 |
8.6 6.4 7.2 4.5 |
|
|
Nervous System Headache‡ Dizziness‡ |
13.1 9.7 |
10.8 8.4 |
|
|
Psychiatric Insomnia‡ Depression |
12.4 6.2 |
8.9 5.6 |
|
|
Skin & Subcutaneous Tissue Increased sweating‡ |
11.8 |
10.4 |
|
|
Vascular Hot flushes‡ Hypertension |
21.2 9.8 |
19.9 8.4 |
In the IES study, as compared to tamoxifen, AROMASIN was associated with a higher incidence of events in the musculoskeletal disorders and in the nervous system disorders, including the following events occurring with frequency lower than 5% (osteoporosis [4.6% vs. 2.8%], osteochondrosis and trigger finger [0.3% vs 0 for both events], paresthesia [2.6% vs. 0.9%], carpal tunnel syndrome [2.4% vs. 0.2%], and neuropathy [0.6% vs. 0.1%]. Diarrhea was also more frequent in the exemestane group (4.2% vs. 2.2%). Clinical fractures were reported in 94 patients receiving exemestane (4.2%) and 71 patients receiving tamoxifen (3.1%). After a median duration of therapy of about 30 months and a median follow-up of about 52 months, gastric ulcer was observed at a slightly higher frequency in the AROMASIN group compared to tamoxifen (0.7% versus less than 0.1%). The majority of patients on AROMASIN with gastric ulcer received concomitant treatment with non-steroidal anti-inflammatory agents and/or had a prior history.
Tamoxifen was associated with a higher incidence of muscle cramps [3.1% vs. 1.5%], thromboembolism [2.0% vs. 0.9%], endometrial hyperplasia [1.7% vs. 0.6%], and uterine polyps [2.4% vs. 0.4%].
Common adverse events occurring on study 027 are described in Table 9.
| Adverse Event |
Exemestane N=73 (% incidence) |
Placebo N=73 (% incidence) |
| Hot flushes |
32.9 |
24.7 |
| Arthralgia |
28.8 |
28.8 |
| Increased Sweating |
17.8 |
20.6 |
| Alopecia |
15.1 |
4.1 |
| Hypertension |
15.1 |
6.9 |
| Insomnia |
13.7 |
15.1 |
| nausea |
12.3 |
16.4 |
| Fatigue |
11.0 |
19.2 |
| Abdominal pain |
11.0 |
13.7 |
| Depression |
9.6 |
6.9 |
| Diarrhea |
9.6 |
1.4 |
| Dizziness |
9.6 |
9.6 |
| Dermatitis |
8.2 |
1.4 |
| Headache |
6.9 |
4.1 |
| Myalgia |
5.5 |
4.1 |
| Edema |
5.5 |
6.9 |
| Anxiety |
4.1 |
5.5 |
A total of 1058 patients were treated with exemestane 25 mg once daily in the clinical trials program. Exemestane was generally well tolerated, and adverse events were usually mild to moderate. Only one death was considered possibly related to treatment with exemestane; an 80-year-old woman with known coronary artery disease had a myocardial infarction with multiple organ failure after 9 weeks on study treatment. In the clinical trials program, only 3% of the patients discontinued treatment with exemestane because of adverse events, mainly within the first 10 weeks of treatment; late discontinuations because of adverse events were uncommon (0.3%).
In the comparative study, adverse reactions were assessed for 358 patients treated with AROMASIN and 400 patients treated with megestrol acetate. Fewer patients receiving AROMASIN discontinued treatment because of adverse events than those treated with megestrol acetate (2% vs. 5%). Adverse events that were considered drug related or of indeterminate cause included hot flashes (13% vs. 5%), nausea (9% vs. 5%), fatigue (8% vs. 10%), increased sweating (4% vs. 8%), and increased appetite (3% vs. 6%). The proportion of patients experiencing an excessive weight gain (greater than 10% of their baseline weight) was significantly higher with megestrol acetate than with AROMASIN (17% vs. 8%). Table 10 shows the adverse events of all CTC grades, regardless of causality, reported in 5% or greater of patients in the study treated either with AROMASIN or megestrol acetate.
| Body system and Adverse Event by WHO ART dictionary |
AROMASIN 25 mg once daily (N=358) |
Megestrol Acetate 40 mg QID (N=400) |
| Autonomic Nervous Increased sweating |
6 |
9 |
| Body as a Whole Fatigue Hot flashes Pain Influenza-like symptoms Edema (includes edema, peripheral edema, leg edema) |
22 13 13 6 7 |
29 6 13 5 6 |
| Cardiovascular Hypertension |
5 |
6 |
| Nervous Depression Insomnia Anxiety Dizziness Headache |
13 11 10 8 8 |
9 9 11 6 7 |
| Gastrointestinal Nausea Vomiting Abdominal pain Anorexia Constipation Diarrhea Increased appetit |
18 7 6 6 5 4 3 |
12 4 11 5 8 5 6 |
| Respiratory Dyspnea Coughing |
10 6 |
15 7 |
Less frequent adverse events of any cause (from 2% to 5%) reported in the comparative study for patients receiving AROMASIN 25 mg once daily were fever, generalized weakness, paresthesia, pathological fracture, bronchitis, sinusitis, rash, itching, urinary tract infection, and lymphedema.
Additional adverse events of any cause observed in the overall clinical trials program (N = 1058) in 5% or greater of patients treated with exemestane 25 mg once daily but not in the comparative study included pain at tumor sites (8%), asthenia (6%) and fever (5%). Adverse events of any cause reported in 2% to 5% of all patients treated with exemestane 25 mg in the overall clinical trials program but not in the comparative study included chest pain, hypoesthesia, confusion, dyspepsia, arthralgia, back pain, skeletal pain, infection, upper respiratory tract infection, pharyngitis, rhinitis, and alopecia.
Post-marketing ExperienceThe following adverse reactions have been identified during post approval use of Aromasin. Because reactions are reported voluntarily from a population of uncertain size, it is not always possible to reliably estimate their frequency or establish a causal relationship to drug exposure.
Cases of hepatitis including cholestatic hepatitis have been observed in clinical trials and reported through post-marketing surveillance.
Clinical trials have been conducted with exemestane given as a single dose to healthy female volunteers at doses as high as 800 mg and daily for 12 weeks to postmenopausal women with advanced breast cancer at doses as high as 600 mg. These dosages were well tolerated. There is no specific antidote to overdosage and treatment must be symptomatic. General supportive care, including frequent monitoring of vital signs and close observation of the patient, is indicated.
A male child (age unknown) accidentally ingested a 25-mg tablet of exemestane. The initial physical examination was normal, but blood tests performed 1 hour after ingestion indicated leucocytosis (WBC 25000/mm3 with 90% neutrophils). Blood tests were repeated 4 days after the incident and were normal. No treatment was given.
In mice, mortality was observed after a single oral dose of exemestane of 3200 mg/kg, the lowest dose tested (about 640 times the recommended human dose on a mg/m2 basis). In rats and dogs, mortality was observed after single oral doses of exemestane of 5000 mg/kg (about 2000 times the recommended human dose on a mg/m2 basis) and of 3000 mg/kg (about 4000 times the recommended human dose on a mg/m2 basis), respectively.
Convulsions were observed after single doses of exemestane of 400 mg/kg and 3000 mg/kg in mice and dogs (approximately 80 and 4000 times the recommended human dose on a mg/m2 basis), respectively.
The recommended dose of AROMASIN in early and advanced breast cancer is one 25 mg tablet once daily after a meal.
In postmenopausal women with early breast cancer who have been treated with 2–3 years of tamoxifen, treatment with AROMASIN should continue in the absence of recurrence or contralateral breast cancer until completion of five years of adjuvant endocrine therapy.
For patients with advanced breast cancer, treatment with AROMASIN should continue until tumor progression is evident.
For patients receiving AROMASIN with a potent CYP 3A4 inducer such as rifampicin or phenytoin, the recommended dose of AROMASIN is 50 mg once daily after a meal.
The safety of chronic dosing in patients with moderate or severe hepatic or renal impairment has not been studied. Based on experience with exemestane at repeated doses up to 200 mg daily that demonstrated a moderate increase in non-life threatening adverse events, dosage adjustment does not appear to be necessary (see CLINICAL PHARMACOLOGY, Special Populations and PRECAUTIONS).
AROMASIN Tablets are round, biconvex, and off-white to slightly gray. Each tablet contains 25 mg of exemestane. The tablets are printed on one side with the number "7663" in black. AROMASIN is packaged in HDPE bottles with a child-resistant screw cap, supplied in packs of 30 tablets.
30-tablet HDPE bottle NDC 54868-5261-0
Store at 25°C (77°F); excursions permitted to 15°–30°C (59°–86°F) [see USP Controlled Room Temperature].
Rx only
Distributed by
Pfizer Pharmacia & Upjohn Company
Division of Pfizer Inc., NY, NY 10017
|
AROMASIN
exemestane tablet | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|
| Labeler - Physicians Total Care, Inc. (194123980) |
| Establishment | |||
| Name | Address | ID/FEI | Business Operations |
|---|---|---|---|
| Physicians Total Care, Inc. | 194123980 | relabel |


Home
Accounts
Cards
Loans
Mortgages
Investment
Secure, convenient banking with our mobile app
Explore Our App
Unlimited commission-free online trades
Get a flexible investing experience with no trade or balance minimums.
Open an Account


Remove Persistent Running App in Notification Background
Date: 2018-06-05
Phone: OnePlus 3T
Oxygen OS 5.0.3
Android version 8.0.0
Some apps are running in the background and will persistently notify you that it is running in the background. That is, that it is impossible to swipe away. This is a guide to help hide these persistent apps.
- Open 'settings'
- Under 'Device' section, open 'Notifications'
- Find 'Android system' and open it (may need to enable 'show system apps' in the more options found in 'Notifications')
- Find and toggle 'Apps running in background' off


rest!
It's okay to take a break.
- When you feel overwhelmed, remind yourself to take a break.
-
Distract yourself by watching your favourite shows or movies or
listening to your favourite music.
- Remember to get 8 hours of sleep.
- What you're going through will pass.


I'm Nithesh, A first year engineering student from IIT Madras. I stay in Bangalore.
My hobbies include swimming, reading, watching movies and coding. I am interested in web development and competetive coding.
Exam(node)
A platform built using express and node for teachers to conduct examinations in schools. Supports MCQ based questions as well as subjective questions. Project Link.
Client:
Nithesh
Date:
July 2016
Service:
Web Development
THC
A script to get the daily hindu crossword. Also gets the crossword grid structure using a js image processing library.


--- layout: post-template title: "Dream Thieves" postHeading: "Dream Thieves" subHeading: "A poem" tags: poetry related: poetry date: "22 Jan 2020" image: "/img/Dream-Thieves/source-japanimrennes-voleur-estampes.jpg" credit: "Source: japanimrennes" ---
Not all that glitters is gold
. . .
They spin a web of lies
That what they have for sale
Costs nothing more than ale
Not wanting to disturb
The careful balance met
They draw you in their net
Promising all the while
What they do not possess
Honesty and progress
How sweet their words doth sound
Prospect of dreams come true
Or too good to be true
Little do we suspect
It's nothing but a ruse
A game we're sure to lose
Allowing them to poise
Like experts that they are
The final blow to cast
And steal the dream right back!


The keyboard supports the Satere language of Brazil. The layout is based on a standard US keyboard layout.
This keyboard makes use of deadkeys. Typing the deadkey before the base character will output the combined character. For example:
~a produces ã (available on aAeEiIoOuUyY). These are also available on the RALT key. For example RALT+a produces ã (available on aAeEiIoOuUyY).
~~ will output a "~"
' outputs a "saltillo" glottal character (U+A78C). Two in a row will output the normal single quote.
Due to the size and number of keys, some characters are hidden in the long press. Press and hold on the key with a little dot on the top right to reveal and use them.


+ |
Conjugate, Add |
- |
Negate, Subtract |
× |
Sign, Multiply |
÷ |
Reciprocal, Divide |
⋆ |
Exponential, Power |
√ |
Square root, Root |
⌊ |
Floor, Minimum |
⌈ |
Ceiling, Maximum |
∧ |
Sort Up, Logical And |
∨ |
Sort Down, Logical Or |
¬ |
Logical Not, Span |
| |
Absolute Value, Modulus |
≤ |
Lesser Than or Equal To |
< |
Enclose, Lesser Than |
> |
Merge, Greater Than |
≥ |
Greater Than or Equal To |
= |
Rank, Equal To |
≠ |
Length, Not Equal To |
≡ |
Depth, Match |
≢ |
Shape, Not Match |
⊣ |
Identity, Left |
⊢ |
Identity, Right |
⥊ |
Deshape, Reshape |
∾ |
Join, Join To |
≍ |
Solo, Couple |
⋈ |
Enlist, Pair |
↑ |
Prefixes, Take |
↓ |
Suffixes, Drop |
↕ |
Range, Windows |
« |
Nudge Back, Shift Before |
» |
Nudge, Shift After |
⌽ |
Reverse, Rotate |
⍉ |
Transpose, Reorder Axes |
/ |
Indices, Replicate |
⍋ |
Grade Up, Bins Up |
⍒ |
Grade Down, Bins Down |
⊏ |
First Cell, Select |
⊑ |
First, Pick |
⊐ |
Classify, Index Of |
⊒ |
Occurrence Count, Progressive Index Of |
∊ |
Mark Firsts, Member Of |
⍷ |
Deduplicate, Find |
⊔ |
Group Indices, Group |
! |
Assert, Assert With Message |
˙ |
Constant |
˜ |
Self, Swap |
∘ |
Atop, Dyadic Atop |
○ |
Atop, Over |
⊸ |
Bind Left, Before, Dyadic Before |
⟜ |
Bind, After, Dyadic After |
⌾ |
Under |
⊘ |
Valences, Dyadic Valences |
◶ |
Choose |
⎊ |
Catch |
⎉ |
Rank |
˘ |
Cells |
⚇ |
Depth |
¨ |
Each |
⌜ |
Table |
⍟ |
Repeat |
⁼ |
Undo |
´ |
Fold, Fold With Initial |
˝ |
Insert, Insert With Initial |
` |
Scan, Scan With initial |
← |
Define |
⇐ |
Export Definition, Export names |
↩ |
Change, Modify |
, or ⋄ |
Separator |
. |
Namespace Field |
( |
Begin Expression |
) |
End Expression |
{ |
Begin Block |
} |
End Block |
; |
Next Body |
: |
Header |
? |
Predicate |
⟨ |
Begin list |
⟩ |
End list |
[ |
Begin array |
] |
End array |
‿ |
Strand |
· |
Nothing |
• |
System |
𝕨 |
Left Argument |
𝕩 |
Right Argument |
𝔽 |
Modifier Left operand |
𝔾 |
2-Modifier Right operand |
𝕊 |
Current Function |
𝕣 |
Current Modifier |
¯ |
Minus |
π |
Pi |
∞ |
Infinity |
@ |
Null Character |
|
Comment |
' |
Character |
" |
String |


Class: Admin::Suggestion::Advisor::Capacity::Add
- Inherits:
-
Admin::Suggestion::Advisor
- Object
- Admin::Suggestion::Advisor
- Admin::Suggestion::Advisor::Capacity::Add
- Extended by:
- Util
- Defined in:
- /home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb
Class Method Summary (collapse)
-
+ (Object) add_capacity(psum, params)
build suggestions for adding capacity to a profile based on params.
-
+ (Object) add_district(s)
Recommend adding new district or districts.
-
+ (Object) add_node(s, open_dists, nodes_needed)
Recommend adding new node or nodes to district(s).
-
+ (Object) districts_with_space(dists, node_capacity, active_gear_pct)
figure out where we have space in current districts and how much.
-
+ (Object) query(params, stats, current_suggestions)
decide if a profile needs more capacity based on params.
- + (Object) test_instances
Methods included from Util
adjusted_active_pct, node_capacity_in_profile, nodes_district_can_accept, suggested_nodes_per_district
Methods inherited from Admin::Suggestion::Advisor
subclass_test_instances, test_profile
Methods included from Logger
#log_debug, #log_error, #log_info, #log_warn
Class Method Details
+ (Object) add_capacity(psum, params)
build suggestions for adding capacity to a profile based on params
Returns: array of Capacity::Add subclasses
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File '/home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb', line 84 def self.add_capacity(psum, params) suggestions = Container.new profile = psum.profile node_capacity = node_capacity_in_profile(psum) active_gear_pct = params.active_gear_pct(profile) active_gear_pct = adjusted_active_pct(psum, node_capacity, active_gear_pct) # hash used to build the attributes for suggestions; since those # are mainly details on how we decided on a suggestion, it is also # convenient to store parameters in as we go along. s = { profile: profile, active_gear_pct: active_gear_pct, available_gears: psum.effective_available_gears, threshold: params.gear_up_threshold(profile), max_active_gears: node_capacity, } s[:gears_needed] = [ params.gear_up_size(profile), s[:threshold] - s[:available_gears] ].max s[:nodes_needed] = (1.0 * s[:gears_needed] / node_capacity).ceil suggestion = C::Add.new(s) # if no districts, just add undistricted nodes as needed if psum.district_count == 1 && psum.district_capacity == 0 s[:node_quantity] = s[:nodes_needed] suggestions << C::Add::Node.new(s) suggestion.contents = suggestions return suggestion end # figure out where we have space in current districts and how much open_dists = districts_with_space(psum.districts, node_capacity, active_gear_pct) s[:nodes_creatable] = open_dists.inject(0) {|sum,dist| sum += dist.space} # if existing districts lack the space, create new district(s) nodes_still_needed = s[:nodes_needed] if s[:nodes_creatable] < s[:nodes_needed] suggestions << (dsug = add_district(s)) nodes_still_needed -= dsug.node_quantity end # now fill remaining need from existing districts suggestions += add_node(s, open_dists, nodes_still_needed) suggestion.contents = suggestions return suggestion end |
+ (Object) add_district(s)
Recommend adding new district or districts
Returns: Add::District
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File '/home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb', line 154 def self.add_district(s) # First, decide how many nodes a new district would take... target_nodes = suggested_nodes_per_district(s[:max_active_gears], s[:active_gear_pct]) nodes_per = target_nodes / 2 # only add half of target to begin with, nodes_per = [s[:nodes_needed], nodes_per].min # but not more than we need, nodes_per = [1, nodes_per].max #... and at least 1 # Then, decide how many districts of that size to suggest. d_quantity = 0 d_quantity += 1 until d_quantity * nodes_per >= s[:nodes_needed] - s[:nodes_creatable] # Finally, create the suggestion for that. return C::Add::District.new( s.merge( district_quantity: d_quantity, nodes_per_district: nodes_per, node_quantity: nodes_per * d_quantity, district_nodes_target: target_nodes, )) end |
+ (Object) add_node(s, open_dists, nodes_needed)
Recommend adding new node or nodes to district(s)
Returns: array of Add::Node
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File '/home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb', line 180 def self.add_node(s, open_dists, nodes_needed) sug_for_dist = {} while nodes_needed > 0 && !open_dists.empty? # add one in each existing district until we have enough. # start with the ones with the fewest nodes. open_dists.sort_by {|dist| dist.nodes.size}.each do |dist| sug = sug_for_dist[dist.uuid] ||= C::Add::Node.new( s.merge district_name: dist.name, district_uuid: dist.uuid, node_quantity: 0, scope: "district", nodes_creatable: dist[:space]) dist[:space] -= 1 sug.node_quantity += 1 nodes_needed -= 1 break if nodes_needed == 0 end open_dists = open_dists.select {|dist| dist.space > 0} end sug_for_dist.values end |
+ (Object) districts_with_space(dists, node_capacity, active_gear_pct)
figure out where we have space in current districts and how much
Returns: Array of filtered district summaries
138 139 140 141 142 143 144 145 146 147 |
# File '/home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb', line 138 def self.districts_with_space(dists, node_capacity, active_gear_pct) dists.select do |d| if d.uuid =~ /^NONE/ # exclude faux districts false else d[:space] = nodes_district_can_accept(d, node_capacity, active_gear_pct) d.space > 0 && d.missing_nodes.size == 0 # exclude if missing nodes end end end |
+ (Object) query(params, stats, current_suggestions)
decide if a profile needs more capacity based on params
66 67 68 69 70 71 72 73 74 75 76 77 |
# File '/home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb', line 66 def self.query(params, stats, current_suggestions) suggestions = Container.new stats.profile_summaries_hash.each do |profile,summary| threshold = params.gear_up_threshold(profile) next if threshold.nil? # don't suggest for this profile if summary.effective_available_gears < threshold # profile needs more active capacity suggestions << add_capacity(summary, params) end end return suggestions end |
+ (Object) test_instances
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
# File '/home/fedora/origin-server/controller/app/models/admin/suggestion/advisor/capacity.rb', line 200 def self.test_instances suggestions = Container.new s = { profile: self.test_profile, active_gear_pct: 10, available_gears: 100, threshold: 200, max_active_gears: 50, nodes_needed: 4, node_quantity: 4, gears_needed: 200, } districts = (1..10).map {|n| { district_uuid: "district_#{n}_uuid", district_name: "district_#{n}" } } # very simple add suggestion: no districts, just add nodes suggestions << no_dist = C::Add.new(s.merge(contents: Container.new)) no_dist.contents << C::Add::Node.new(s) # now just add nodes to one existing district s[:profile] = self.test_profile + "1" suggestions << one_dist = C::Add.new(s.merge(contents: Container.new)) one_dist.contents << C::Add::Node.new(s.merge(districts.shift). merge(scope: "district", nodes_creatable: 4)) # now add nodes and districts s[:profile] = self.test_profile + "2" s[:nodes_needed] = 6 suggestions << multi_add = C::Add.new(s.merge(contents: Container.new)) 2.times { multi_add.contents << C::Add::Node.new(s.merge(districts.shift). merge(node_quantity: 1, scope: "district", nodes_creatable: 1))} multi_add.contents << C::Add::District.new( s.merge( district_quantity: 2, nodes_per_district: 2, node_quantity: 4, district_nodes_target: 4, )) return suggestions end |


<lomCoverage>
The <lomCoverage> provides learning metadata about the temporal or spatial characteristics of the content, such as historical context.
Category: Learning and training: metadata elements


ehki.ng
We bring the market to your doorstep
-
Generally delivers between 1 - 2 working days from order confirmation. Orders only confirmed once payment has successfully processed. NOTE: When using services such as Skrill, payments can take longer to process (approx. 4 days).
-
Where do you live?
- Ikoyi
- Obalende
- Ajah
- Ikorodu


Khushhal Maheshwari
H. No. 1728/2, Near Bhagyalaxmi Saree Center,
Pancholi Chowraha, Ramnagar
Ajmer - 305004
<EMAIL_ADDRESS>https://www.facebook.com/superiorbots/ https://www.youtube.com/user/khushhal000/
+91<PHONE_NUMBER>
Language
- English (full working proficiency)
- Hindi (Native proficiency)
- Gujarati (limited proficiency)
Interests
- Robotics
- Coding
- Philosophy
- Science-Fiction Movies
- Video games
- Chess
Skill Set
- C
- C++
- HTML
- PHP
- CSS
- Python
- Linux
- Photoshop
- AutoCAD
- Matlab
- Digital oscilloscope.
- Arduino
- Raspberry Pi
- IoT systems
Education
B. Tech: Electronics and Communication Sept 2015 â€” 2019
- Continuing coursework in C, C++, Python and MATLAB.
- Learning PCB Designing.
- Learning About Basic Digital and Analog Circuits.
CS50x Fall of 2016
Completed this online Course on EdX to Kickstart Coding.
High School July 2007 â€” Apr 2014
Scored 90.4% in CBSE Board Examination.
Work experience
Maker and Freelancer April 2015 â€” Present
I'm a Maker and Hobbyist who is quite passionate about the way Technology can help us to lead a Meaningfull Life (A PDF containing details about my projects as a Maker is available upon requests).
I have also given Workshops in the Maker Community on Arduino, Raspberry Pi, IOT etc and to other Robotics enthusiast.
I have also worked as a freelancer on projects based on Web-Designing, HTML, CSS.
I have also given Workshops in the Maker Community on Arduino, Raspberry Pi, IOT etc and to other Robotics enthusiast.
I have also worked as a freelancer on projects based on Web-Designing, HTML, CSS.
Robotics Club, BML Munjal University September 2016 â€” Present
I'm responsible for building a community of Engineers who are deeply interested in Robotics and Technology. I also work on the roadmap for the Club, so as to achieve desired Results. I give Workshops to the students on Arduino, Raspberry Pi, Internet of Things, MATLAB, KiCad, Image Processing etc.
New Dawn Octtober 2016 â€” Present
New Dawn is a Startup in which we work on the Interesting project to produce an impact on the community around us. We are quite passionate about how Technology can make a huge difference in people's life easier and Smoother.
My role in this Startup is to look after Marketing of our Products and activities. So that we can reach the right People.
Robotics Club, BML Munjal University October 2015 â€” September 2016
I was the Head of Autonomous Robots Department in the Club, so my role was to manage the people in my Department, kickstart new projects, give Workshops, form teams for different Competition and help other Club Member in whatever way I can.
Society of Automotive Engineers (SAE India) Student Chapter, BML Munjal University August 2016 â€” Present
This Team is formulated by keeping in mind the SAE Supra 2017 and SAE BAJA 2018 Competition. My Department is responsible for designing, testing, debuging and failure-proofing all the electronics of the designed Car.
Fully Autonomous Vehicle September 2016 â€” Present
We are desining Fully Autonoums Vehicle for our College. My work involve working with Sensors and Algorithm for Autonoums Navigation.
Industrial visits during Practice School 1:
20 May â€” 24 May
| Company | Type |
|---|---|
| AG Industries,Manesar | Manufacturing, OEM |
| Poly Plastic Ltd.,Bawal | Manufacturing |
| Mahle Filters,Gurgaon | Manufacturer, Supplier, Exporter |
| Mother Dairy,Delhi | Co-operative organisation |
| Munjal Auto Industries Ltd. Bawal | Manufacturer, Supplier |
Summary
Results-oriented Maker and Hobbyist specializing in problem-solving using Technology. Expertise in Arduino, Raspberry Pi, Internet of Systems and AutoCAD. I'm an Ambitious Engineer under construction who continuously exceeds personal goals. I'm a Fast learner and Critical Thinker who also values Holistic and Sustainable Development.


PAST
ONE LIVES
Ever miss out on our OneLive event streams? Not to worry – we’ve got it all saved for you here to watch. Have a look around!
PAST
ONE LIVES
Ever miss out on our OneLive event streams? Not to worry – we’ve got it all saved for you here to watch. Have a look around!
Load More


This data is being pulled from the server at autocompleteremotedata.js.
Ideally the server would perform a search on the query and would only return relevant results; however, this response is static.


The tutors who specialize in Art have a wide variety of skills, ranging from finger painting, to colour analysis. No matter what you may be struggling in, every aspect of visual art will be known and hopefully help you in whatever struggles you have.
The tutors who specialize in Biology have spent over 100 hours in the lab. They are proficient in disections, the different systems in life forms (both plants and animals) and can help you with memorization.
The tutors in Chemistry are able to help you both in lab experiments, written calculations, and even the drawing of chemical compounds. No matter where you fall on the pH scale, help will always be available.
Tutors: Julie
The tutors who work in assisting Computer Science know many languages including python, java, c++. A required knowledge for those who wish to tutor in computer science is for them to have a firm grasp on all activites involving the OLPC computers.
English is one of those subjects where it can be a hit or a miss. These tutors will help you find your "style" of writing, add literary features and devices and help you with poetry. They will refine your editing skills to help you produce a final product which will be a home run.
Even after the invention of the calculator, teachers still feel like they need to test students in a non-calculator section. Whatever area you are struggling in, whether it be trig or functions, our tutors will help you train your mind to function even quicker than ever before.
Music tutors will work with you one-on-one to help you perfect a song, teach you new tricks and even do a duet with you! Without forgetting the written side, tutors can also help you with theory, history, and song compositions. No matter where you need the help, our tutors will impact you in a major way.
These tutors can help you create lab ideas, perform them and work through problems. No matter the problem, these tutors have what it takes to get you through it.
Tutors: Jimmy